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小知识
Oct 15 Javascript
Vue.js基础知识汇总
Apr 27 Javascript
jQuery EasyUI学习教程之datagrid点击列表头排序
Jul 09 Javascript
JavaScript表单焦点自动切换代码
Jul 24 Javascript
微信小程序表单验证功能完整实例
Dec 01 Javascript
JS声明对象时属性名加引号与不加引号的问题及解决方法
Feb 16 Javascript
浅谈Vue初学之props的驼峰命名
Jul 19 Javascript
vue.js实现的全选与全不选功能示例【基于elementui】
Dec 03 Javascript
详解Vue+Element的动态表单,动态表格(后端发送配置,前端动态生成)
Apr 20 Javascript
JavaScript怎样在删除前添加确认弹出框?
May 27 Javascript
详解nvm管理多版本node踩坑
Jul 26 Javascript
vue路由传参的基本实现方式小结【三种方式】
Feb 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
在apache下限制每个虚拟主机的并发数!!!!
2006/10/09 PHP
PHP Web木马扫描器代码分享
2015/09/06 PHP
一个级联菜单代码学习及removeClass与addClass的应用
2013/01/24 Javascript
js控制table合并具体实现
2014/02/20 Javascript
JSP中使用JavaScript动态插入删除输入框实现代码
2014/06/13 Javascript
举例简介AngularJS的内部语言环境
2015/06/17 Javascript
浅谈js之字面量、对象字面量的访问、关键字in的用法
2016/11/20 Javascript
bootstrapvalidator之API学习教程
2017/06/29 Javascript
JS中利用swiper实现3d翻转幻灯片实例代码
2017/08/25 Javascript
详解nodejs通过代理(proxy)发送http请求(request)
2017/09/22 NodeJs
微信小程序 scroll-view实现锚点滑动的示例
2017/12/06 Javascript
jQuery点击页面其他部分隐藏下拉菜单功能
2018/11/27 jQuery
实例介绍JavaScript中多种组合继承
2019/01/20 Javascript
微信小程序HTTP请求从0到1封装
2019/09/09 Javascript
Vue3 中的数据侦测的实现
2019/10/09 Javascript
JS变量提升原理与用法实例浅析
2020/05/22 Javascript
vue scroll滚动判断的实现(是否滚动到底部、滚动方向、滚动节流、获取滚动区域dom元素)
2020/06/11 Javascript
vue自定义树状结构图的实现方法
2020/10/18 Javascript
Python单例模式实例分析
2015/01/14 Python
Python判断列表是否已排序的各种方法及其性能分析
2016/06/20 Python
Python爬虫天气预报实例详解(小白入门)
2018/01/24 Python
python批量修改图片大小的方法
2018/07/24 Python
Python OpenCV利用笔记本摄像头实现人脸检测
2020/08/20 Python
解决django服务器重启端口被占用的问题
2019/07/26 Python
matplotlib 范围选区(SpanSelector)的使用
2021/02/24 Python
老生常谈CSS中的长度单位
2016/06/27 HTML / CSS
html5图片上传预览示例分享
2014/04/14 HTML / CSS
护士自我鉴定范文
2013/10/06 职场文书
党的群众路线教育实践活动实施方案
2014/10/31 职场文书
自荐信模板大全
2015/03/27 职场文书
建筑工程催款函
2015/06/24 职场文书
运动会加油稿50字
2015/07/21 职场文书
小学校本教研总结
2015/08/13 职场文书
初中化学教学反思
2016/02/22 职场文书
Python捕获、播放和保存摄像头视频并提高视频清晰度和对比度
2022/04/14 Python
教你如何用cmd快速登录服务器
2022/06/10 Servers