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 相关文章推荐
初学Javascript的一些总结
Nov 03 Javascript
jquery创建一个ajax关键词数据搜索实现思路
Feb 26 Javascript
node.js中的socket.io的广播消息
Dec 15 Javascript
Bootstrap每天必学之导航条
Nov 27 Javascript
jQuery插件之Tocify动态节点目录菜单生成器附源码下载
Jan 08 Javascript
jquery实现简单实用的轮播器
May 23 jQuery
jquery实现图片跟随鼠标的实例
Oct 17 jQuery
JS加密插件CryptoJS实现的DES加密示例
Aug 16 Javascript
解决js相同的正则多次调用test()返回的值却不同的问题
Oct 10 Javascript
JS拖动选择table里的单元格完整实例【基于jQuery】
May 28 jQuery
JS中的const命令你真懂它吗
Mar 08 Javascript
javascript 数组(list)添加/删除的实现
Dec 17 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分页效率终结版(推荐)
2013/07/01 PHP
php不允许用户提交空表单(php空值判断)
2013/11/12 PHP
PHP之密码加密的几种方式
2015/07/29 PHP
PHP批量去除BOM头内容信息代码
2016/03/11 PHP
header与缓冲区之间的深层次分析
2016/07/30 PHP
Laravel 5.4向IoC容器中添加自定义类的方法示例
2017/08/15 PHP
PHP实现用session来实现记录用户登陆信息
2018/10/15 PHP
javascript 手动给表增加数据的小例子
2013/07/10 Javascript
可简单避免的三个JS发布错误的详细介绍
2013/08/02 Javascript
使用jquery中height()方法获取各种高度大全
2014/04/02 Javascript
JS实现点击颜色块切换指定区域背景颜色的方法
2015/02/25 Javascript
jQuery使用load()方法载入另外一个网页文件内的指定标签内容到div标签的方法
2015/03/25 Javascript
Atitit.js的键盘按键事件捆绑and事件调度
2016/04/01 Javascript
JS中解决谷歌浏览器记住密码输入框颜色改变功能
2017/02/13 Javascript
Canvas 绘制粒子动画背景
2017/02/15 Javascript
js,jq,css多方面实现简易下拉菜单功能
2017/05/13 Javascript
详解JS数据类型的值拷贝函数(深拷贝)
2017/07/13 Javascript
js实现鼠标移动到图片产生遮罩效果
2017/10/21 Javascript
详解ES6中的三种异步解决方案
2018/06/28 Javascript
JavaScript实现点击切换验证码及校验
2021/01/10 Javascript
wxpython中利用线程防止假死的实现方法
2014/08/11 Python
Python + selenium自动化环境搭建的完整步骤
2018/05/19 Python
浅谈python的输入输出,注释,基本数据类型
2019/04/02 Python
Python获取命令实时输出-原样彩色输出并返回输出结果的示例
2019/07/11 Python
python移位运算的实现
2019/07/15 Python
python多线程同步实例教程
2019/08/11 Python
python下载的库包存放路径
2020/07/27 Python
Django DRF认证组件流程实现原理详解
2020/08/17 Python
python raise的基本使用
2020/09/10 Python
鞋子女王塔玛拉·梅隆同名奢侈品牌:Tamara Mellon
2017/11/22 全球购物
SCDKey德国:全球领先的数字游戏市场
2019/04/09 全球购物
电大自我鉴定
2013/10/27 职场文书
大学生冰淇淋店商业计划书
2014/01/14 职场文书
大学学雷锋活动总结
2014/06/26 职场文书
会议邀请函
2015/01/30 职场文书
Nginx流量拷贝ngx_http_mirror_module模块使用方法详解
2022/04/07 Servers