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 相关文章推荐
jQuery DIV弹出效果实现代码
Jul 03 Javascript
Javascript学习笔记8 用JSON做原型
Jan 11 Javascript
jQuery UI AutoComplete 自动完成使用小记
Aug 21 Javascript
基于jQuery的简单九宫格实现代码
Aug 09 Javascript
基于jquery打造的百分比动态色彩条插件
Sep 19 Javascript
angularjs 中$apply,$digest,$watch详解
Oct 13 Javascript
angularjs ui-router中路由的二级嵌套
Mar 10 Javascript
详解Angular 4.x 动态创建组件
Apr 25 Javascript
基于Datatables跳转到指定页的简单实例
Nov 09 Javascript
浅谈super-vuex使用体验
Jun 25 Javascript
JavaScript实现与使用发布/订阅模式详解
Jan 19 Javascript
vue使用混入定义全局变量、函数、筛选器的实例代码
Jul 29 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
全国FM电台频率大全 - 12 安徽省
2020/03/11 无线电
记录PHP错误日志 display_errors与log_errors的区别
2012/10/09 PHP
PHP限制页面只能在微信自带浏览器访问的代码
2014/01/15 PHP
PHP static局部静态变量和全局静态变量总结
2014/03/02 PHP
PHP策略模式定义与用法示例
2017/07/27 PHP
匹配任意字符的正则表达式写法
2010/04/29 Javascript
js实现网页随机切换背景图片的方法
2014/11/01 Javascript
javascript实现table表格隔行变色的方法
2015/05/13 Javascript
javascript框架设计之框架分类及主要功能
2015/06/23 Javascript
JS图片左右无缝隙滚动的实现(兼容IE,Firefox 遵循W3C标准)
2016/09/23 Javascript
JavaScript正则表达式exec/g实现多次循环用法示例
2017/01/17 Javascript
jquery-file-upload 文件上传带进度条效果
2017/11/21 jQuery
webstorm中vue语法的支持详解
2018/05/09 Javascript
深入解析ES6中的promise
2018/11/08 Javascript
Layui实现数据表格默认全部显示(不要分页)
2019/10/26 Javascript
使用Python发送邮件附件以定时备份MySQL的教程
2015/04/25 Python
Python文本特征抽取与向量化算法学习
2017/12/22 Python
python pandas dataframe 按列或者按行合并的方法
2018/04/12 Python
解决python nohup linux 后台运行输出的问题
2018/05/11 Python
Python实现RabbitMQ6种消息模型的示例代码
2020/03/30 Python
jupyter 导入csv文件方式
2020/04/21 Python
Python使用socket模块实现简单tcp通信
2020/08/18 Python
Python Opencv实现单目标检测的示例代码
2020/09/08 Python
python定义具名元组实例操作
2021/02/28 Python
海淘母婴商城:国际妈咪
2016/07/23 全球购物
Casadei卡萨蒂官网:意大利奢侈鞋履品牌
2017/10/28 全球购物
美国专业消费电子及摄影器材网站:B&H Photo Video
2019/12/18 全球购物
Java基础知识面试要点
2016/07/29 面试题
大学生评语大全
2014/04/18 职场文书
会计系毕业求职信
2014/08/07 职场文书
爱牙日活动总结
2014/08/29 职场文书
工作失职检讨书(精华篇)
2014/10/15 职场文书
医院领导班子四风问题对照检查材料
2014/10/26 职场文书
远程教育培训心得体会
2016/01/09 职场文书
springcloud之Feign超时问题的解决
2021/06/24 Java/Android
一文带你探究MySQL中的NULL
2021/11/11 MySQL