JS与SQL方式随机生成高强度密码示例


Posted in Javascript onDecember 29, 2018

本文实例讲述了JS与SQL方式随机生成高强度密码。分享给大家供大家参考,具体如下:

JS方式

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title>随机生成密码</title>
  </head>
  <body>
    <input type="button" onclick="RanPwd()" value="生成密码" />
    <span id="pwd"></span>
    <script>
      var numChar = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'];
      var alphChar = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'];
      var syblChar = ['~', '!', '@', '#', '$', '%', '^', '&', '*', '-', '+', '?', '¥', ';', '"', '<', '>', '|'];
      function generatePwd() {
        var res = "";
        for(let i = 0; i < 2; i++) {
          var id = Math.floor(Math.random() * 10);
          res += numChar[id];
        }
        for(let j = 0; j < 3; j++) {
          var id = Math.floor(Math.random() * 26);
          res += alphChar[id];
        }
        for(let k = 0; k < 1; k++) {
          var id = Math.floor(Math.random() * 18);
          res += syblChar[id];
        }
        return res;
      }
      function strengthPwd(pwd) {
        var len = n = pwd.length-1;
        pwd = pwd.split("");
        var newPwd = "";
        for(var i = 0; i <= len; i++) {
          var id = Math.floor(Math.random() * n)
          newPwd += pwd.splice(id,1);
          n--;
        }
        return newPwd;
      }
      function RanPwd(){
        var prePwd = generatePwd();
        var pwd = strengthPwd(prePwd);
        document.getElementById("pwd").innerHTML = pwd;
      }
    </script>
  </body>
</html>

这里使用在线HTML/CSS/JavaScript代码运行工具:http://tools.3water.com/code/HtmlJsRun测试上述代码,可得如下运行结果:

JS与SQL方式随机生成高强度密码示例

SQL方式

--生成高强度的随机密码
declare @strPwd varchar(82)
declare @i int
declare @n int
declare @Index int
declare @pwd varchar(6)
declare @newPwd varchar(6)
set @i = 0
set @pwd = ''
set @newPwd = ''
set @strPwd = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ~!@#$%^&*-=+?.,;:|><'
while (@i < 6)
begin
  if(@i<2)
  begin
    set @Index = ceiling((rand() * 10))
  end
  else if(@i<5 and @i>=2)
  begin
    set @Index = ceiling(rand() * 52 + 10)
  end
  else if(@i=5)
  begin
    set @Index = ceiling(rand() * 20 + 62)
  end
  set @pwd = @pwd + substring(@strPwd,@Index,1)
  set @i = @i + 1
end
set @i = 0
set @n = LEN(@pwd)
while (@i < 6)
begin
 set @Index = ceiling(rand() * @n)
 set @newPwd = @newPwd + substring(@pwd,@Index,1)
 set @pwd = STUFF(@pwd,@Index,1,'')
 set @n = @n-1
 set @i = @i + 1
end
select @newPwd
Javascript 相关文章推荐
javascript Onunload与Onbeforeunload使用小结
Dec 31 Javascript
script标签属性type与language使用选择
Dec 02 Javascript
基于jquery的has()方法以及与find()方法以及filter()方法的区别详解
Apr 26 Javascript
javascript实现页面内关键词高亮显示代码
Apr 03 Javascript
JS实现局部选择打印和局部不选择打印
Apr 03 Javascript
javascript引用类型指针的工作方式
Apr 13 Javascript
Bootstrap每天必学之缩略图与警示窗
Nov 29 Javascript
JavaScript实现点击按钮复制指定区域文本(推荐)
Nov 25 Javascript
jQuery实现的简单对话框拖动功能示例
Jun 05 jQuery
JavaScript 监听组合按键思路及代码实现
Jul 28 Javascript
vue如何使用rem适配
Feb 06 Vue.js
使用webpack和rollup打包组件库的方法
Feb 25 Javascript
基于vue.js实现分页查询功能
Dec 29 #Javascript
小程序日历控件使用方法详解
Dec 29 #Javascript
jQuery实现的老虎机跑动效果示例
Dec 29 #jQuery
小程序自定义日历效果
Dec 29 #Javascript
微信小程序自定义带价格显示日历效果
Dec 29 #Javascript
微信小程序日历效果
Dec 29 #Javascript
微信小程序日历组件使用方法详解
Dec 29 #Javascript
You might like
在PHP中使用XML
2006/10/09 PHP
php中的三元运算符使用说明
2011/07/03 PHP
php stripslashes和addslashes的区别
2014/02/03 PHP
php生成数字字母的验证码图片
2015/07/14 PHP
PHP面向对象程序设计之对象的遍历操作示例
2019/06/12 PHP
js几个验证函数代码
2010/03/25 Javascript
基于jquery编写的横向自适应幻灯片切换特效的实例代码
2013/08/06 Javascript
js使浏览器窗口最大化实现代码(适用于IE)
2013/08/07 Javascript
制作jquery遮罩层效果导航菜单代码分享
2013/12/25 Javascript
js实现浏览本地文件并显示扩展名的方法
2015/08/17 Javascript
node.js中实现kindEditor图片上传功能的方法教程
2017/04/26 Javascript
angular动态删除ng-repaeat添加的dom节点的方法
2017/07/20 Javascript
Vue自定义事件(详解)
2017/08/19 Javascript
vue-lazyload图片延迟加载插件的实例讲解
2018/02/09 Javascript
vue中使用微信公众号js-sdk踩坑记录
2019/03/29 Javascript
基于javascript的拖拽类封装详解
2019/04/19 Javascript
layui 数据表格+分页+搜索+checkbox+缓存选中项数据的方法
2019/09/21 Javascript
[01:21:36]CHAOS vs Alliacne 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
Python根据区号生成手机号码的方法
2015/07/08 Python
200行自定义python异步非阻塞Web框架
2017/03/15 Python
python中多个装饰器的执行顺序详解
2018/10/08 Python
详解如何减少python内存的消耗
2019/08/09 Python
Python 实现Serial 与STM32J进行串口通讯
2019/12/18 Python
30行Python代码实现高分辨率图像导航的方法
2020/05/22 Python
DRF框架API版本管理实现方法解析
2020/08/21 Python
CSS3 display知识详解
2015/11/25 HTML / CSS
canvas学习笔记之绘制简单路径
2019/01/28 HTML / CSS
匡威爱尔兰官网:Converse爱尔兰
2019/06/09 全球购物
美国婴儿服装购物网站:Gerber Childrenswear
2020/05/06 全球购物
将一个数的从第5位开始的7个数取出,其余位置0
2016/05/26 面试题
总经理职责
2013/12/22 职场文书
委托书范文
2014/04/02 职场文书
ktv筹备计划书
2014/05/03 职场文书
纪律教育学习心得体会
2014/09/02 职场文书
科技馆观后感
2015/06/08 职场文书
Java 关于String字符串原理上的问题
2022/04/07 Java/Android