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的Validation插件中Remote验证的中文问题
Jul 26 Javascript
js中日期的加减法
May 06 Javascript
jquery zTree异步加载、模糊搜索简单实例分享
Mar 24 Javascript
Javascript的无new构建实例详解
May 15 Javascript
JavaScript中访问id对象 属性的方式访问属性(实例代码)
Oct 28 Javascript
jQuery自定义组件(导入组件)
Nov 08 Javascript
node.js 和HTML5开发本地桌面应用程序
Dec 13 Javascript
零基础轻松学JavaScript闭包
Dec 30 Javascript
jQuery实现获取隐藏div高度的方法示例
Feb 09 Javascript
three.js中文文档学习之通过模块导入
Nov 20 Javascript
微信小程序非swiper组件实现的自定义伪3D轮播图效果示例
Dec 11 Javascript
jQuery实现获取当前鼠标位置并输出功能示例
Jan 05 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
destoon各类调用汇总
2014/06/20 PHP
php实现的SESSION类
2014/12/02 PHP
PHP实现微信提现功能
2018/09/30 PHP
JavaScript语法着色引擎(demo及打包文件下载)
2007/06/13 Javascript
javascript一元操作符(递增、递减)使用示例
2013/08/07 Javascript
jQuery在线选座位插件seat-charts特效代码分享
2015/08/27 Javascript
PhotoSwipe异步动态加载图片方法
2016/08/25 Javascript
js在ie下打开对话窗口的方法小结
2016/10/24 Javascript
脚本div实现拖放功能(两种)
2017/02/13 Javascript
jQuery实现table表格信息的展开和缩小功能示例
2018/07/21 jQuery
React中使用UEditor百度富文本的方法
2018/08/22 Javascript
vue debug 二种方法
2018/09/16 Javascript
在Vue中使用axios请求拦截的实现方法
2018/10/25 Javascript
微信小程序swiper禁止用户手动滑动代码实例
2019/08/23 Javascript
解决layui的使用以及针对select、radio等表单组件不显示的问题
2019/09/05 Javascript
Vue搭建后台系统需要注意的问题
2019/11/08 Javascript
详解JavaScript之ES5的继承
2020/07/08 Javascript
vue-quill-editor的使用及个性化定制操作
2020/08/04 Javascript
Python 使用PIL中的resize进行缩放的实例讲解
2018/08/03 Python
使用Python完成15位18位身份证的互转功能
2019/11/06 Python
Python opencv相机标定实现原理及步骤详解
2020/04/09 Python
Python求解排列中的逆序数个数实例
2020/05/03 Python
Keras 利用sklearn的ROC-AUC建立评价函数详解
2020/06/15 Python
Python读写压缩文件的方法
2020/07/30 Python
支持IE8的纯css3开发的响应式设计动画菜单教程
2014/11/05 HTML / CSS
Forever 21美国官网:美国标志性快时尚品牌
2017/02/20 全球购物
Camper鞋西班牙官方网上商店:西班牙马略卡岛的鞋类品牌
2019/03/14 全球购物
全球性的女装店:storets
2019/06/12 全球购物
美国鲜花递送:UrbanStems
2021/01/04 全球购物
大学生个人事迹材料
2014/01/21 职场文书
《花的勇气》教后反思
2014/02/12 职场文书
致铅球运动员加油稿
2014/02/13 职场文书
员工生日活动方案
2014/08/24 职场文书
七年级语文教学反思
2016/03/03 职场文书
Python Matplotlib库实现画局部图
2021/11/17 Python
redis数据一致性的实现示例
2022/03/18 Redis