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 相关文章推荐
在修改准备发的批量美化select+可修改select时,在非IE下发现了几个问题
Jan 09 Javascript
javascript FormatNumber函数实现方法
Dec 30 Javascript
jQuery数组处理代码详解(含实例演示)
Feb 03 Javascript
JavaScript 高级篇之函数 (四)
Apr 07 Javascript
JavaScript使用setTimeout实现延迟弹出警告框的方法
Apr 07 Javascript
javascript实现五星评分功能
Nov 10 Javascript
javascript实现下拉提示选择框
Dec 29 Javascript
快速解决jquery.touchSwipe左右滑动和垂直滚动条冲突
Apr 15 Javascript
JS 设置Cookie 有效期 检测cookie
Jun 15 Javascript
PWA介绍及快速上手搭建一个PWA应用的方法
Jan 27 Javascript
jQuery实现的导航条点击后高亮显示功能示例
Mar 04 jQuery
JQuery获得内容和属性方法解析
May 30 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
PHP扩展框架之Yaf框架的安装与使用
2016/05/18 PHP
yii2简单使用less代替css示例
2017/03/10 PHP
PHP删除数组中指定下标的元素方法
2018/02/03 PHP
一个封装js代码-----展开收起效果示例
2013/07/03 Javascript
使用js对select动态添加和删除OPTION示例代码
2013/08/12 Javascript
深入理解javascript中defer的作用
2013/12/11 Javascript
js模拟淘宝网的多级选择菜单实现方法
2015/08/18 Javascript
第七章之菜单按钮图标组件
2016/04/25 Javascript
Ajax验证用户名或昵称是否已被注册
2017/04/05 Javascript
cropper js基于vue的图片裁剪上传功能的实现代码
2018/03/01 Javascript
深入理解Promise.all
2018/08/08 Javascript
vue中的计算属性实例详解
2018/09/19 Javascript
IE11下处理Promise及Vue的单项数据流问题
2019/07/24 Javascript
详解js中的几种常用设计模式
2020/07/16 Javascript
vue 动态生成拓扑图的示例
2021/01/03 Vue.js
[33:23]Secret vs Serenity 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
跟老齐学Python之使用Python操作数据库(1)
2014/11/25 Python
Python写的Tkinter程序屏幕居中方法
2015/03/10 Python
浅谈python类属性的访问、设置和删除方法
2016/07/25 Python
为什么选择python编程语言入门黑客攻防 给你几个理由!
2018/02/02 Python
python3利用tcp实现文件夹远程传输
2018/07/28 Python
Python实现基于POS算法的区块链
2018/08/07 Python
使用python搭建服务器并实现Android端与之通信的方法
2019/06/28 Python
Python字典推导式将cookie字符串转化为字典解析
2019/08/10 Python
win10下python3.8的PIL库安装过程
2020/06/08 Python
web页面录屏实现
2019/02/12 HTML / CSS
html5表单及新增的改良元素详解
2016/06/07 HTML / CSS
英国标志性奢侈品牌:Burberry
2016/07/28 全球购物
美国网上订购鲜花:FTD
2016/09/23 全球购物
特步官方商城:Xtep
2017/03/21 全球购物
大学生农村教师实习自我鉴定
2013/09/21 职场文书
《长江之歌》教学反思
2014/04/17 职场文书
禁烟标语大全
2014/06/11 职场文书
为什么node.js不适合大型项目
2021/04/28 Javascript
python3 字符串str和bytes相互转换
2022/03/23 Python
Python软件包安装的三种常见方法
2022/07/07 Python