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)容感興趣的讀者可查看本站專(zhuān)題:《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ì)有所幫助。
- JS簡(jiǎn)單生成隨機(jī)數(shù)(隨機(jī)密碼)的方法
- nodejs密碼加密中生成隨機(jī)數(shù)的實(shí)例代碼
- 利用javascript如何隨機(jī)生成一定位數(shù)的密碼
- JS密碼生成與強(qiáng)度檢測(cè)完整實(shí)例(附demo源碼下載)
- js檢驗(yàn)密碼強(qiáng)度(低中高)附圖
- Js密碼強(qiáng)度實(shí)時(shí)驗(yàn)證代碼
- js密碼強(qiáng)度實(shí)時(shí)檢測(cè)代碼
- JavaScript 密碼強(qiáng)度判斷代碼
- JavaScript判斷密碼強(qiáng)度(自寫(xiě)代碼)
相關(guān)文章
javascript查詢(xún)字符串參數(shù)的方法
這篇文章主要介紹了javascript查詢(xún)字符串參數(shù)的方法,實(shí)例分析了javascript獲取URL中對(duì)應(yīng)參數(shù)的使用技巧,需要的朋友可以參考下2015-01-01
JS中利用swiper實(shí)現(xiàn)3d翻轉(zhuǎn)幻燈片實(shí)例代碼
大家都知道Swiper(Swiper master)是目前應(yīng)用較廣泛的移動(dòng)端網(wǎng)頁(yè)觸摸內(nèi)容滑動(dòng)js插件。下面這篇文章主要給大家介紹了在JS中利用swiper實(shí)現(xiàn)3d翻轉(zhuǎn)幻燈片的相關(guān)資料,文中給出了完整的示例代碼供大家參考學(xué)習(xí),需要的朋友可以參考借鑒,下面來(lái)一起看看吧。2017-08-08
有關(guān)json_decode亂碼及NULL的問(wèn)題
json decode出現(xiàn)中文亂碼,返回null,很多朋友都遇到過(guò)吧,該怎么解決呢?下面小編把解決辦法分享在腳本之家網(wǎng)站上,供大家學(xué)習(xí)2015-10-10
使用three.js實(shí)現(xiàn)炫酷的酸性風(fēng)格3D頁(yè)面效果
本文內(nèi)容主要介紹,通過(guò)使用React+three.js技術(shù)棧,加載3D模型、添加3D文字、增加動(dòng)畫(huà)、點(diǎn)擊交互等,配合樣式設(shè)計(jì),實(shí)現(xiàn)充滿(mǎn)設(shè)計(jì)感的酸性風(fēng)格頁(yè)面2021-10-10
js頁(yè)面引導(dǎo)頁(yè)的實(shí)現(xiàn)思路總結(jié)
在同學(xué)們使用某些網(wǎng)站的新版本頁(yè)面的時(shí)候,經(jīng)常會(huì)出現(xiàn)一個(gè)類(lèi)似于新手引導(dǎo)一樣的效果,本文主要介紹了js頁(yè)面引導(dǎo)頁(yè)的實(shí)現(xiàn)思路總結(jié),感興趣的可以了解一下2023-04-04
javascript實(shí)現(xiàn)畫(huà)不相交的圓
這篇文章主要介紹了javascript實(shí)現(xiàn)畫(huà)不相交的圓,這個(gè)也是阿里巴巴的筆試題,只不過(guò)忘記當(dāng)時(shí)是不是要求必須用canvas來(lái)實(shí)現(xiàn),下篇文章再寫(xiě)吧。2015-04-04
echarts學(xué)習(xí)之legend點(diǎn)擊事件解讀
這篇文章主要介紹了echarts學(xué)習(xí)之legend點(diǎn)擊事件解讀,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-03-03

