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 EasyUI API 中文文档 - Panel面板
Sep 30 Javascript
js获取select选中的option的text示例代码
Dec 19 Javascript
jQuery满屏焦点图左右滚动特效代码分享
Sep 07 Javascript
HTML5+jQuery实现搜索智能匹配功能
Mar 24 jQuery
AngularJS自定义指令之复制指令实现方法
May 18 Javascript
微信小程序顶部可滚动导航效果
Oct 31 Javascript
Puppeteer环境搭建的详细步骤
Sep 21 Javascript
Angular事件之不同组件间传递数据的方法
Nov 15 Javascript
从0到1搭建Element的后台框架的方法步骤
Apr 10 Javascript
Vue-cli3.x + axios 跨域方案踩坑指北
Jul 04 Javascript
jquery实现图片无缝滚动 蒙版遮蔽效果
Jan 11 jQuery
详解JS函数防抖
Jun 05 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利用缓存处理用户注册时的邮箱验证,成功后用户数据存入数据库操作示例
2019/12/31 PHP
JavaScript入门教程(3) js面向对象
2009/01/31 Javascript
JS上传前预览图片实例
2013/03/25 Javascript
ie中js创建checkbox默认选中问题探讨
2013/10/21 Javascript
javascript删除option选项的多种方法总结
2013/11/22 Javascript
浅谈Jquery为元素绑定事件
2015/04/27 Javascript
AngularJS的表单使用详解
2015/06/17 Javascript
jQuery插件AjaxFileUpload实现ajax文件上传
2016/05/05 Javascript
js canvas仿支付宝芝麻信用分仪表盘
2016/11/16 Javascript
jQuery滑动到底部加载下一页数据的实例代码
2017/05/22 jQuery
js判断输入框不能为空格或null值的实现方法
2018/03/02 Javascript
对 Vue-Router 进行单元测试的方法
2018/11/05 Javascript
vue学习笔记之slot插槽基本用法实例分析
2020/02/01 Javascript
在Python中实现贪婪排名算法的教程
2015/04/17 Python
Python2中的raw_input() 与 input()
2015/06/12 Python
Python数据结构与算法之图结构(Graph)实例分析
2017/09/05 Python
python对离散变量的one-hot编码方法
2018/07/11 Python
PyQt5重写QComboBox的鼠标点击事件方法
2019/06/25 Python
python selenium 执行完毕关闭chromedriver进程示例
2019/11/15 Python
如何查看Django ORM执行的SQL语句的实现
2020/04/20 Python
keras绘制acc和loss曲线图实例
2020/06/15 Python
python爬虫用mongodb的理由
2020/07/28 Python
详解window.open被浏览器拦截的解决方案
2019/07/18 HTML / CSS
通往英国高街的商店橱窗:Down Your High Street
2020/07/19 全球购物
数据库基础的一些面试题
2012/02/25 面试题
总经理秘书的岗位职责
2013/12/27 职场文书
大学生职业生涯规划范文
2014/01/08 职场文书
元旦晚会邀请函
2014/01/27 职场文书
优秀干部获奖感言
2014/01/31 职场文书
中专生毕业个人鉴定
2014/02/26 职场文书
2014年技术部工作总结
2014/12/12 职场文书
离婚财产分割协议书
2015/08/11 职场文书
创业计划书之甜品店
2019/09/18 职场文书
Web前端:CSS最强总结 附详细代码
2021/03/31 HTML / CSS
CSS极坐标的实例代码
2021/06/03 HTML / CSS
德劲DE1107指针试高灵敏度全波段收音机机评
2022/04/05 无线电