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 相关文章推荐
js 深拷贝函数
Dec 04 Javascript
JS+CSS实现仿雅虎另类滑动门切换效果
Oct 13 Javascript
深入理解javascript作用域第二篇之词法作用域和动态作用域
Jul 24 Javascript
Bootstrap Img 图片样式(推荐)
Dec 13 Javascript
BootStrap TreeView使用实例详解
Nov 01 Javascript
利用jquery如何从json中读取数据追加到html中
Dec 01 jQuery
vue.js的computed,filter,get,set的用法及区别详解
Mar 08 Javascript
Vue.js实现的计算器功能完整示例
Jul 11 Javascript
JS实现鼠标拖拽盒子移动及右键点击盒子消失效果示例
Jan 29 Javascript
微信小程序实现上拉加载功能示例【加载更多数据/触底加载/点击加载更多数据】
May 29 Javascript
Openlayers实现测量功能
Sep 25 Javascript
Nuxt的路由配置和参数传递方式
Nov 06 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 array_flip() 删除数组重复元素
2009/01/14 PHP
Look And Say 序列php实现代码
2011/05/22 PHP
JavaScript 仿关机效果的图片层
2008/12/26 Javascript
基于jquery的direction图片渐变动画效果
2010/05/24 Javascript
JavaScript根据数据生成百分比图和柱状图的实例代码
2013/07/14 Javascript
千分位数字格式化(用逗号隔开 代码已做了修改 支持0-9位逗号隔开)的JS代码
2013/12/05 Javascript
原生javascript+css3编写的3D魔方动画旋扭特效
2016/03/14 Javascript
详细分析Javascript中创建对象的四种方式
2016/08/17 Javascript
js实现可输入可选择的select下拉框
2016/12/21 Javascript
js下载文件并修改文件名
2017/05/08 Javascript
vue.js加载新的内容(实例代码)
2017/06/01 Javascript
vue 中动态绑定class 和 style的方法代码详解
2018/06/01 Javascript
webpack项目轻松混用css module的方法
2018/06/12 Javascript
详解webpack2异步加载套路
2018/09/14 Javascript
Vue绑定内联样式问题
2018/10/17 Javascript
vue指令做滚动加载和监听等
2019/05/26 Javascript
JavaScript实现五子棋游戏的方法详解
2019/07/08 Javascript
微信小程序自定义菜单切换栏tabbar组件代码实例
2019/12/30 Javascript
详解JavaScript自定义函数
2020/07/29 Javascript
python从ftp下载数据保存实例
2013/11/20 Python
python和shell变量互相传递的几种方法
2013/11/20 Python
使用Python的Tornado框架实现一个Web端图书展示页面
2016/07/11 Python
python动态进度条的实现代码
2019/07/03 Python
PYTHON如何读取和写入EXCEL里面的数据
2019/10/28 Python
使用keras实现孪生网络中的权值共享教程
2020/06/11 Python
linux mint中搜狗输入法导致pycharm卡死的问题
2020/10/28 Python
瑞士首家网上药店折扣店:McDrogerie
2020/12/22 全球购物
服务之星获奖感言
2014/01/21 职场文书
经典广告词大全
2014/03/14 职场文书
初中教师业务学习材料
2014/05/12 职场文书
小学教师师德师风演讲稿
2014/08/22 职场文书
银行转正自我鉴定
2014/09/29 职场文书
机关作风建设心得体会
2014/10/22 职场文书
有限责任公司股东合作协议书范本
2014/10/30 职场文书
学生早退检讨书(范文)
2019/08/19 职场文书
golang 接口嵌套实现复用的操作
2021/04/29 Golang