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 maxlength使用说明
Sep 09 Javascript
jquery 获取标签名(tagName)示例代码
Jul 11 Javascript
js 针对html DOM元素操作等经验累积
Mar 11 Javascript
详解Javascript中prototype属性(推荐)
Sep 03 Javascript
js通过keyCode值判断单击键盘上某个键,然后触发指定的事件方法
Feb 19 Javascript
Vue项目中引入外部文件的方法(css、js、less)
Jul 24 Javascript
vue+Java后端进行调试时解决跨域问题的方式
Oct 19 Javascript
Vue Router去掉url中默认的锚点#
Aug 01 Javascript
vue 中滚动条始终定位在底部的方法
Sep 03 Javascript
NestJs 静态目录配置详解
Mar 12 Javascript
element-ui多文件上传的实现示例
Apr 10 Javascript
关于小程序优化的一些建议(小结)
Dec 10 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
《五等分的花嫁》漫画完结!2020年10月第2期TV动画制作组换血!
2020/03/06 日漫
四个常见html网页乱码问题及解决办法
2015/09/08 PHP
CodeIgniter集成smarty的方法详解
2016/05/26 PHP
php array_reverse 以相反的顺序返回数组实例代码
2017/04/11 PHP
表单元素事件 (Form Element Events)
2009/07/17 Javascript
使用jQuery fancybox插件打造一个实用的数据传输模态弹出窗体
2013/01/15 Javascript
jQuery 实现自动填充邮箱功能(带下拉提示)
2014/10/14 Javascript
JS实现统计复选框选中个数并提示确定与取消的方法
2015/07/01 Javascript
jQuery+css实现的换页标签栏效果
2016/01/27 Javascript
jquery基础知识第一讲之认识jquery
2016/03/17 Javascript
深入理解jquery中的事件与动画
2016/05/24 Javascript
JQuery遍历元素的父辈和祖先的方法
2016/09/18 Javascript
JS判断Android、iOS或浏览器的多种方法(四种方法)
2017/06/29 Javascript
CryptoJS中AES实现前后端通用加解密技术
2018/12/18 Javascript
JS实现压缩上传图片base64长度功能
2019/12/03 Javascript
Element MessageBox弹框的具体使用
2020/07/27 Javascript
在vue中嵌入外部网站的实现
2020/11/13 Javascript
[01:19]DOTA2城市挑战赛报名开始 开启你的城市传奇
2018/03/23 DOTA
树莓派中python获取GY-85九轴模块信息示例
2013/12/05 Python
详解python中的json的基本使用方法
2016/12/21 Python
Python实现将SQLite中的数据直接输出为CVS的方法示例
2017/07/13 Python
python基于twisted框架编写简单聊天室
2018/01/02 Python
Python实现XML文件解析的示例代码
2018/02/05 Python
详解Python3 对象组合zip()和回退方式*zip
2019/05/15 Python
Python Pandas分组聚合的实现方法
2019/07/02 Python
Python多进程multiprocessing、进程池用法实例分析
2020/03/24 Python
全球最大的中文旅行网站:去哪儿网
2017/11/16 全球购物
建筑专业自荐信
2013/10/18 职场文书
质检员岗位职责
2013/12/17 职场文书
服装设计行业个人的自我评价
2013/12/20 职场文书
优秀党员主要事迹
2014/01/19 职场文书
店面销售职位的职责
2014/03/09 职场文书
七夕活动策划方案
2014/08/16 职场文书
对照四风自我剖析材料
2014/10/07 职场文书
作文评语集锦
2014/12/25 职场文书
2019年二手房买卖合同范本
2019/10/14 职场文书