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 操作两个select实现值之间的互相传递
Mar 07 Javascript
jQuery选择器全集详解
Nov 24 Javascript
JQuery控制div外点击隐藏而div内点击不会隐藏的方法
Jan 13 Javascript
jQuery Validate表单验证插件 添加class属性形式的校验
Jan 18 Javascript
jQuery拖拽排序插件制作拖拽排序效果(附源码下载)
Feb 23 Javascript
利用js将ajax获取到的后台数据动态加载至网页中的方法
Aug 08 Javascript
详解如何构建一个Angular6的第三方npm包
Sep 07 Javascript
解决Vue打包后访问图片/图标不显示的问题
Jul 25 Javascript
ES2020 新特性(种草)
Jan 12 Javascript
JavaScript Date对象功能与用法学习记录
Apr 28 Javascript
vue实现登录拦截
Jun 29 Javascript
jQuery实现手风琴特效
Jan 11 jQuery
基于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
一个从别的网站抓取信息的例子(域名查询)
2006/10/09 PHP
PHP mkdir()无写权限的问题解决方法
2014/06/19 PHP
Yii中Model(模型)的创建及使用方法
2015/12/28 PHP
php源码之将图片转化为data/base64数据流实例详解
2016/11/27 PHP
PHPMailer使用QQ邮箱实现邮件发送功能
2017/08/18 PHP
accesskey 提交
2006/06/26 Javascript
Jquery 高亮显示文本中重要的关键字
2009/12/24 Javascript
改善你的jQuery的25个步骤 千倍级效率提升
2010/02/11 Javascript
用js来刷新当前页面保留参数的具体实现
2013/12/23 Javascript
JS获取节点的兄弟,父级,子级元素的方法
2014/01/09 Javascript
Angularjs的ng-repeat中去除重复数据的方法
2016/08/05 Javascript
JSON 必知必会 观后记
2016/10/27 Javascript
基于jQuery和Bootstrap框架实现仿知乎前端动态列表效果
2016/11/09 Javascript
jQuery checkbox选中问题之prop与attr注意点分析
2016/11/15 Javascript
jQuery EasyUI ProgressBar进度条组件
2017/02/28 Javascript
ES6中Proxy代理用法实例浅析
2017/04/06 Javascript
jQuery实现动态添加、删除按钮及input输入框的方法
2017/04/27 jQuery
浅谈js的解析顺序 作用域 严格模式
2017/10/23 Javascript
node.js利用socket.io实现多人在线匹配联机五子棋
2018/05/31 Javascript
React中嵌套组件与被嵌套组件的通信过程
2018/07/11 Javascript
JavaScript Window浏览器对象模型原理解析
2020/05/30 Javascript
Vue使用Element实现增删改查+打包的步骤
2020/11/25 Vue.js
python开发之thread实现布朗运动的方法
2015/11/11 Python
python的pip安装以及使用教程
2018/09/18 Python
python字符串切割:str.split()与re.split()的对比分析
2019/07/16 Python
英国最大的在线亚洲杂货店:Red Rickshaw
2020/03/22 全球购物
大学生职业生涯规划书范文
2014/01/04 职场文书
2014年会演讲稿范文
2014/01/06 职场文书
市场营销职业生涯规划书范文
2014/01/12 职场文书
创建市级文明单位实施方案
2014/03/01 职场文书
药剂专业个人求职信范文
2014/04/29 职场文书
讲解员培训方案
2014/05/04 职场文书
信仰心得体会
2014/09/05 职场文书
2016大学自主招生推荐信范文
2015/03/23 职场文书
2015双创工作总结
2015/07/24 职场文书
2019年中,最受大众欢迎的6本新书
2019/08/07 职场文书