溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

JavaScript如何生成一次性密碼

發(fā)布時(shí)間:2020-12-02 10:49:50 來源:億速云 閱讀:177 作者:小新 欄目:web開發(fā)

這篇文章主要介紹了JavaScript如何生成一次性密碼,具有一定借鑒價(jià)值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。

 一次性密碼(OTP)是在計(jì)算機(jī)或數(shù)字設(shè)備中只對(duì)一個(gè)登錄會(huì)話或事務(wù)有效的密碼?,F(xiàn)在,網(wǎng)上銀行、網(wǎng)上交易等幾乎所有的服務(wù)都使用了OTP。它們通常是4位或6位數(shù)字或6位字母數(shù)字的組合。random隨機(jī)函數(shù)用于生成數(shù)學(xué)庫(kù)中預(yù)定義的隨機(jī)OTP。本文就將給大家介紹如何使用JavaScript生成OTP。(推薦:《javascript教程》)

函數(shù):

random():這個(gè)函數(shù)返回0到1之間的任意隨機(jī)數(shù)。

floor():它將任何浮點(diǎn)數(shù)的floor返回為整數(shù)值。

使用上面的函數(shù)選擇字符串?dāng)?shù)組的隨機(jī)索引,其中包含OTP的一個(gè)特定數(shù)字的所有可能的候選項(xiàng)。

示例1:生成4位數(shù)字OTP:

<script> 
  
function generateOTP() { 
          
    // 聲明一個(gè)存儲(chǔ)所有數(shù)字的digits變量
    var digits = '0123456789'; 
    let OTP = ''; 
    for (let i = 0; i < 4; i++ ) { 
        OTP += digits[Math.floor(Math.random() * 10)]; 
    } 
    return OTP; 
} 
  
document.write("4位OTP: ") 
document.write( generateOTP() ); 
</script>

輸出:

4位OTP: 2229

示例2:生成6位數(shù)字OTP:

<script> 
  
function generateOTP() { 
          
    var digits = '0123456789'; 
    let OTP = ''; 
    for (let i = 0; i < 6; i++ ) { 
        OTP += digits[Math.floor(Math.random() * 10)]; 
    } 
    return OTP; 
} 
  
document.write("6位OTP: ") 
document.write( generateOTP() ); 
</script>

輸出:

6位OTP: 216664

示例3:生成長(zhǎng)度為6的字母數(shù)字OTP:

<script> 
  
function generateOTP() { 
          
    //聲明一個(gè)存儲(chǔ)所有字符串的string變量
    var string = '0123456789abcdefghijklmnopqrs 
    tuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; 
    let OTP = ''; 
      
    //求字符串的長(zhǎng)度
    var len = string.length; 
    for (let i = 0; i < 6; i++ ) { 
        OTP += string[Math.floor(Math.random() * len)]; 
    } 
    return OTP; 
} 
  
document.write("長(zhǎng)度為6的OTP: ") 
document.write( generateOTP() ); 
</script>

輸出:

長(zhǎng)度為6的OTP: rab0Tj

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享JavaScript如何生成一次性密碼內(nèi)容對(duì)大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,遇到問題就找億速云,詳細(xì)的解決方法等著你來學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI