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 相关文章推荐
用document.documentElement取代document.body的原因分析
Nov 12 Javascript
javascript 面向对象的JavaScript类
May 04 Javascript
jQuery.parseJSON(json)将JSON字符串转换成js对象
Jul 27 Javascript
JavaScript操作URL的相关内容集锦
Oct 29 Javascript
javascript中的 object 和 function小结
Aug 14 Javascript
JSON 对象未定义错误的解决方法
Sep 29 Javascript
js微信扫描二维码登录网站技术原理
Dec 01 Javascript
BootStrap 下拉菜单点击之后不会出现下拉菜单(下拉菜单不弹出)的解决方案
Dec 14 Javascript
详解Vue的computed(计算属性)使用实例之TodoList
Aug 07 Javascript
详解小程序之简单登录注册表单验证
May 13 Javascript
简述vue-cli中chainWebpack的使用方法
Jul 30 Javascript
动态规划之使用备忘录来改进Javascript函数
Apr 07 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上传非标准格式的图片pjpeg失败的方法
2017/03/12 PHP
jQuery代码优化 事件委托篇
2011/11/01 Javascript
JavaScript 高级篇之函数 (四)
2012/04/07 Javascript
JavaScript之Getters和Setters 平台支持等详细介绍
2012/12/07 Javascript
根据选择不同的下拉值出现相对应的文本输入框
2013/08/01 Javascript
Ajax同步与异步传输的示例代码
2013/11/21 Javascript
JavaScript禁止页面操作的示例代码
2013/12/17 Javascript
js动态添加onclick事件可传参数与不传参数
2014/07/29 Javascript
百度UEditor编辑器如何关闭抓取远程图片功能
2015/03/03 Javascript
jquery实现倒计时效果
2015/12/14 Javascript
jQuery实现的表头固定效果实例【附完整demo源码下载】
2016/08/01 Javascript
jQuery自适应轮播图插件Swiper用法示例
2016/08/24 Javascript
vue学习教程之带你一步步详细解析vue-cli
2017/12/26 Javascript
Fundebug支持监控微信小程序HTTP请求错误的方法
2019/02/21 Javascript
浅谈vue权限管理实现及流程
2020/04/23 Javascript
[07:31]DOTA2卡尔工作室 英雄介绍主宰篇
2013/06/25 DOTA
[05:15]DOTA2英雄梦之声_第16期_灰烬之灵
2014/06/21 DOTA
[01:35]辉夜杯战队访谈宣传片—iG.V
2015/12/25 DOTA
在Python的Flask框架中使用模版的入门教程
2015/04/20 Python
探究python中open函数的使用
2016/03/01 Python
Python SQL查询并生成json文件操作示例
2018/08/17 Python
python的依赖管理的实现
2019/05/14 Python
python开头的coding设置方法
2019/08/08 Python
Python aiohttp百万并发极限测试实例分析
2019/10/26 Python
Opencv 图片的OCR识别的实战示例
2021/03/02 Python
Pytorch模型迁移和迁移学习,导入部分模型参数的操作
2021/03/03 Python
CSS3自定义滚动条样式 ::webkit-scrollbar的示例代码详解
2020/06/01 HTML / CSS
J2EE中的容器都包括哪些
2013/08/21 面试题
人事助理岗位职责
2013/11/18 职场文书
护士辞职信模板
2014/01/20 职场文书
大学考试作弊检讨书
2014/01/30 职场文书
中考冲刺决心书
2014/03/11 职场文书
关于热爱祖国的演讲稿
2014/05/04 职场文书
计算机网络专业求职信
2014/06/05 职场文书
工作年限证明范本
2015/06/15 职场文书
pytorch 中autograd.grad()函数的用法说明
2021/05/12 Python