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中的值类型和引用类型小结 文字说明与实例
Dec 12 Javascript
createElement与createDocumentFragment的点点区别小结
Dec 19 Javascript
JS实现仿雅虎首页快捷登录入口及导航模块效果
Sep 19 Javascript
Node.js Express 框架 POST方法详解
Jan 23 Javascript
如何使用vuejs实现更好的Form validation?
Apr 07 Javascript
jQuery Ajax向服务端传递数组参数值的实例代码
Sep 03 jQuery
深入浅析JavaScript中的RegExp对象
Sep 18 Javascript
微信小程序getPhoneNumber获取用户手机号
Sep 29 Javascript
详解webpack+ES6+Sass搭建多页面应用
Nov 05 Javascript
Bootstrap 实现表格样式、表单布局的实例代码
Dec 09 Javascript
vue 详情跳转至列表页实现列表页缓存
Mar 27 Javascript
vue 公共列表选择组件,引用Vant-UI的样式方式
Nov 02 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程序员最常犯的11个MySQL错误小结
2010/11/20 PHP
paypal即时到账php实现代码
2010/11/28 PHP
php 数据库字段复用的基本原理与示例
2011/07/22 PHP
php实现比较两个字符串日期大小的方法
2015/05/12 PHP
php常量详细解析
2015/10/27 PHP
解读PHP中上传文件的处理问题
2016/05/29 PHP
基于thinkphp6.0的success、error实现方法
2019/11/05 PHP
javascript 无提示关闭窗口脚本
2009/08/17 Javascript
jQuery ajax serialize()方法的使用以及常见问题解决
2013/01/27 Javascript
js原生appendChild的bug解决心得分享
2013/07/01 Javascript
2014 HTML5/CSS3热门动画特效TOP10
2014/12/07 Javascript
jQuery中$.each使用详解
2015/01/29 Javascript
jqGrid表格应用之新增与删除数据附源码下载
2015/12/02 Javascript
JQuery ztree 异步加载实例讲解
2016/02/25 Javascript
JS实现类似百叶窗下拉菜单效果
2016/12/30 Javascript
jQuery实现拖拽可编辑模块功能代码
2017/01/12 Javascript
微信小程序swiper实现滑动放大缩小效果
2018/11/15 Javascript
深入理解JavaScript 箭头函数
2019/05/30 Javascript
vue倒计时刷新页面不会从头开始的解决方法
2020/03/03 Javascript
Python中isnumeric()方法的使用简介
2015/05/19 Python
Python3实现从排序数组中删除重复项算法分析
2019/04/03 Python
PyTorch中常用的激活函数的方法示例
2019/08/20 Python
python socket 聊天室实例代码详解
2019/11/14 Python
python中的函数递归和迭代原理解析
2019/11/14 Python
python使用OpenCV模块实现图像的融合示例代码
2020/04/10 Python
Pytorch 中的optimizer使用说明
2021/03/03 Python
CSS3动画和HTML5新特性详解
2020/08/31 HTML / CSS
HTML table 表格边框的实现思路
2019/10/12 HTML / CSS
《我的信念》教学反思
2014/02/15 职场文书
丧事主持词大全
2014/04/02 职场文书
国旗下演讲稿
2014/05/08 职场文书
有关朝花夕拾的读书笔记
2015/06/29 职场文书
入党后的感想
2015/08/10 职场文书
如何写好一份优秀的工作总结?
2019/06/21 职场文书
golang import自定义包方式
2021/04/29 Golang
Pygame Time时间控制的具体使用详解
2021/11/17 Python