JS與SQL方式隨機(jī)生成高強(qiáng)度密碼示例
本文實(shí)例講述了JS與SQL方式隨機(jī)生成高強(qiáng)度密碼。分享給大家供大家參考,具體如下:
JS方式
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>隨機(jī)生成密碼</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代碼運(yùn)行工具:http://tools.jb51.net/code/HtmlJsRun測(cè)試上述代碼,可得如下運(yùn)行結(jié)果:
SQL方式
--生成高強(qiáng)度的隨機(jī)密碼 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
PS:這里再為大家提供兩款相關(guān)在線工具供大家參考使用:
在線隨機(jī)數(shù)字/字符串生成工具:
http://tools.jb51.net/aideddesign/suijishu
高強(qiáng)度密碼生成器:
http://tools.jb51.net/password/CreateStrongPassword
更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript數(shù)組操作技巧總結(jié)》、《JavaScript排序算法總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》、《JavaScript查找算法技巧總結(jié)》及《JavaScript錯(cuò)誤與調(diào)試技巧總結(jié)》
希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。
相關(guān)文章
JavaScript使用遞歸和循環(huán)實(shí)現(xiàn)階乘的實(shí)例代碼
這篇文章主要介紹了JavaScript使用遞歸和循環(huán)實(shí)現(xiàn)階乘的實(shí)例代碼,代碼簡(jiǎn)單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2018-08-08js setTimeout實(shí)現(xiàn)延遲關(guān)閉彈出層
有時(shí)候我們希望彈出層能夠?qū)崿F(xiàn)延遲關(guān)閉,并且鼠標(biāo)在彈出層區(qū)域移動(dòng)的時(shí)候能夠保持顯現(xiàn),下面是具體的實(shí)現(xiàn)代碼。2010-04-04js 函數(shù)的執(zhí)行環(huán)境和作用域鏈的深入解析
在js中對(duì)象的外在表現(xiàn)形式為函數(shù)。2009-11-11JS實(shí)現(xiàn)拖動(dòng)模態(tài)框案例
這篇文章主要為大家詳細(xì)介紹了JS實(shí)現(xiàn)拖動(dòng)模態(tài)框案例,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-07-07javascript window.open打開新窗口后無法再次打開該窗口問題的解決方法
這篇文章主要介紹了javascript window.open打開新窗口后無法再次打開該窗口問題的解決方法即無法再次打開窗口、第二次打開不了,需要的朋友可以參考下2014-04-04微信小程序?qū)崙?zhàn)之雙人五子棋游戲是實(shí)現(xiàn)
這篇文章主要為大家詳細(xì)介紹了如何利用微信小程序?qū)崿F(xiàn)雙人五子棋游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-05-05webpack使用及如何搭建cesium三維地球環(huán)境
這篇文章主要介紹了webpack快速上手之搭建cesium三維地球環(huán)境,本文使用的是webpack5,webpack5 升級(jí)后默認(rèn)是不支持polyfill的,編譯時(shí)會(huì)報(bào)錯(cuò),本文主要介紹了Cesium以及Webpack的使用,如何將Cesium一步步地集成到Webpack中,需要的朋友可以參考下2023-11-11Javascript 數(shù)組添加一個(gè) indexOf 方法的實(shí)現(xiàn)代碼
Javascript 的字符串有個(gè) indexOf 的方法,能夠返回字符在指定的字符串中的位置,非常有用,本文介紹了如何給 Javascript 數(shù)組也添加一個(gè)類似的方法。2009-09-09