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监听表单value的修改同步问题,跨浏览器支持
Dec 31 Javascript
JQuery实现网页右侧随动广告特效
Jan 17 Javascript
JavaScript将DOM事件处理程序封装为event.js 出现的低级错误问题
Aug 03 Javascript
jquery 点击元素后,滚动条滚动至该元素位置的方法
Aug 05 Javascript
深入理解javascript的getTime()方法
Feb 16 Javascript
vue+webpack 打包文件 404 页面空白的解决方法
Feb 28 Javascript
快速解决select2在bootstrap模态框中下拉框隐藏的问题
Aug 10 Javascript
解决layui的input独占一行的问题
Sep 10 Javascript
解决LayUI数据表格复选框不居中显示的问题
Sep 25 Javascript
JS动态显示倒计时效果
Dec 12 Javascript
toString.call()通用的判断数据类型方法示例
Aug 28 Javascript
详解基于element的区间选择组件校验(交易金额)
Jan 07 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函数preg_match_all正则表达式的基本使用详细解析
2013/08/31 PHP
去除php注释和去除空格函数分享
2014/03/13 PHP
PHP中的异常处理机制深入讲解
2020/11/10 PHP
JavaScript网页定位详解
2014/01/13 Javascript
jQuery实现限制textarea文本框输入字符数量的方法
2015/05/28 Javascript
Boostrap模态窗口的学习小结
2016/03/28 Javascript
jQuery EasyUI中DataGird动态生成列的方法
2016/04/05 Javascript
详解Javascript中DOM的范围
2017/02/13 Javascript
NodeJs模拟登陆正方教务
2017/04/28 NodeJs
微信小程序 按钮滑动的实现方法
2017/09/27 Javascript
vue-cli项目中使用公用的提示弹层tips或加载loading组件实例详解
2018/05/28 Javascript
详解Angular6.0使用路由步骤(共7步)
2018/06/29 Javascript
详解新手使用vue-router传参时注意事项
2019/06/06 Javascript
js实现翻牌小游戏
2020/07/31 Javascript
jQuery实现计算器功能
2020/10/19 jQuery
wxPython框架类和面板类的使用实例
2014/09/28 Python
采用Psyco实现python执行速度提高到与编译语言一样的水平
2014/10/11 Python
Python获取运行目录与当前脚本目录的方法
2015/06/01 Python
Python中matplotlib中文乱码解决办法
2017/05/12 Python
Flask数据库迁移简单介绍
2017/10/24 Python
Python 和 JS 有哪些相同之处
2017/11/23 Python
django的settings中设置中文支持的实现
2019/04/28 Python
Python基于requests库爬取网站信息
2020/03/02 Python
pytorch查看通道数 维数 尺寸大小方式
2020/05/26 Python
英国Lookfantastic中文网站:护肤品美妆美发购物(英国直邮)
2020/04/27 全球购物
将"引用"作为函数参数有哪些特点
2013/04/05 面试题
UNIX特点都有哪些
2016/04/05 面试题
高中美术教学反思
2014/01/19 职场文书
副校长竞聘演讲稿
2014/09/01 职场文书
放假通知
2015/04/14 职场文书
红色电影观后感
2015/06/18 职场文书
2016年暑期教师培训心得体会
2016/01/09 职场文书
合作意向书怎么写
2019/06/24 职场文书
南阳市白酒市场的调查报告
2019/11/08 职场文书
漫画「狩龙人拉格纳」公开TV动画预告图
2022/03/22 日漫
JS前端监控采集用户行为的N种姿势
2022/07/23 Javascript