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代码(jquery)
Sep 12 Javascript
js克隆对象、数组的常用方法介绍
Sep 26 Javascript
js加入收藏夹代码(兼容ie/ff/op)
May 16 Javascript
JavaScript判断表单提交时哪个radio按钮被选中的方法
Mar 21 Javascript
javascript实现捕捉键盘上按下的键
May 05 Javascript
Angularjs中使用Filters详解
Mar 11 Javascript
jQuery如何防止Ajax重复提交
Oct 14 Javascript
微信小程序 教程之WXSS
Oct 18 Javascript
微信小程序 label 组件详解及简单实例
Jan 10 Javascript
jQuery 插件实现随机自由弹跳气泡样式
Jan 12 Javascript
详解Node.js中exports和module.exports的区别
Apr 19 Javascript
基于vue-cli创建的项目的目录结构及说明介绍
Nov 23 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读注册表
2006/10/09 PHP
PHP中使用虚代理实现延迟加载技术
2014/11/05 PHP
PHP实现将textarea的值根据回车换行拆分至数组
2015/06/10 PHP
PHP SFTP实现上传下载功能
2017/07/26 PHP
php和js实现根据子网掩码和ip计算子网功能示例
2019/11/09 PHP
5 cool javascript apps
2007/03/24 Javascript
js打开windows上的可执行文件示例
2014/05/27 Javascript
JS实现的用来对比两个用指定分隔符分割的字符串是否相同
2014/09/19 Javascript
js判断浏览器版本以及浏览器内核的方法
2015/01/20 Javascript
js实现鼠标划过给div加透明度的方法
2015/05/25 Javascript
谈谈Jquery ajax中success和complete有哪些不同点
2015/11/20 Javascript
JavaScript实现跑马灯抽奖活动实例代码解析与优化(一)
2016/02/16 Javascript
JS定义类的六种方式详解
2016/05/12 Javascript
ES6新特征数字、数组、字符串
2016/10/01 Javascript
详解AngularJS验证、过滤器、指令
2017/01/04 Javascript
Vue2路由动画效果的实现代码
2017/07/10 Javascript
React应用中使用Bootstrap的方法
2017/08/15 Javascript
JavaScript寄生组合式继承原理与用法分析
2019/01/11 Javascript
Vue CLI3中使用compass normalize的方法
2019/05/30 Javascript
小程序分页实践之编写可复用分页组件
2019/07/18 Javascript
vue中echarts图表大小适应窗口大小且不需要刷新案例
2020/07/19 Javascript
Python基于numpy灵活定义神经网络结构的方法
2017/08/19 Python
浅析python中numpy包中的argsort函数的使用
2018/08/30 Python
python 重命名轴索引的方法
2018/11/10 Python
tensorflow之读取jpg图像长和宽实例
2020/06/18 Python
浅谈盘点5种基于Python生成的个性化语音方法
2021/02/05 Python
Pycharm 如何一键加引号的方法步骤
2021/02/05 Python
加拿大领先的时尚和体育零售商:Sporting Life
2019/12/15 全球购物
大四本科生的自我评价
2013/12/30 职场文书
个人职业生涯规划书1500字
2013/12/31 职场文书
计算机专业职业生涯规划范文
2014/01/19 职场文书
离婚协议书该怎么写
2014/10/04 职场文书
毕业生自荐材料范文
2014/12/30 职场文书
护士先进个人总结
2015/02/13 职场文书
Idea连接MySQL数据库出现中文乱码的问题
2021/04/14 MySQL
浅谈Laravel中使用Slack进行异常通知
2021/05/29 PHP