日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

crypto-js RC4和hash_hmac运用

發(fā)布時(shí)間:2025/3/21 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 crypto-js RC4和hash_hmac运用 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

遇到一個(gè)問(wèn)題,前端需要加密,可能用到一些算法,推薦這個(gè)庫(kù):crypto-js,

RC4是一個(gè)可逆的加密,看下用法:

import CryptoJS from 'crypto-js'; const RC4KEY = 'secretKey'; let name = 'abc' let name_encrypted = CryptoJS.RC4.encrypt(name, RC4KEY); //加密 console.log(name_encrypted.toString());//類似于'U2FsdGVkX1+n5T4ZSSIH7Cq5uQ=='是個(gè)變化的數(shù)值 let name_decrypted = CryptoJS.RC4.decrypt(name_encrypted,RC4KEY);//解密 let name_decrypted_utf8 = CryptoJS.enc.Utf8.stringify(name_decrypted); console.log(name_decrypted_utf8);//abc

? 以上代碼實(shí)測(cè)通過(guò):'abc’'通過(guò)RC4加密,最后解密出來(lái)了。只是,與理解的相比,最后多了個(gè)

CryptoJS.enc.Utf8.stringify()

? 好答案都在googel,百度上的答案亂七八糟,就算了。  

?RC4加密應(yīng)用場(chǎng)景:

?比如你做了活動(dòng)頁(yè)面,頁(yè)面url中有查詢參數(shù):id=10;

拿到你的這個(gè)url,再修改id,可以遍歷你的所有活動(dòng),這就是安全性的問(wèn)題。

如果對(duì)id這個(gè)參數(shù)進(jìn)行加密,那就不一樣了。

也就是說(shuō),客戶看到你的id =?U2FsdGVkX1+n5T4ZSSIH7Cq5uQ==;他就不好遍歷了。

當(dāng)然,這需要在鏈接url生成時(shí)就加密,然后再頁(yè)面中獲取這個(gè)加密的參數(shù)。

后端再去解密這個(gè)參數(shù)。還是很安全的。

RC4這種加密是可逆的,hash_hmac是一個(gè)不可逆的加密,比MD5更安全,號(hào)稱最安全的加密。

crypto-js的,hash_hmac用法:(詳細(xì)請(qǐng)看:https://stackoverflow.com/questions/12099092/javascript-equivalent-of-phps-hash-hmac-with-raw-binary-output)

import CryptoJS from 'crypto-js'; var hash = CryptoJS.HmacSHA256("Message", "Secret Passphrase"); var base64 = hash.toString(CryptoJS.enc.Base64);

注意:上面的代碼,對(duì)hash_hmac加密后的結(jié)果進(jìn)行了base64編碼。

?

另外,有一點(diǎn)比較迷惑:

?

  • crypto-js/hmac-sha1
  • crypto-js/sha1

?

這2個(gè)模塊對(duì)應(yīng)的方法為:

  • CryptoJS.SHA1("Message"
  • CryptoJS.HmacSHA1("Message", "Key")

這2個(gè)的區(qū)別是多了個(gè)參數(shù),關(guān)系:HMACSHA1?是從 SHA1 哈希函數(shù)構(gòu)造的一種鍵控哈希算法,被用作 HMAC(基于哈希的消息驗(yàn)證代碼)。  ?

轉(zhuǎn)載于:https://www.cnblogs.com/xiaochongchong/p/7766718.html

總結(jié)

以上是生活随笔為你收集整理的crypto-js RC4和hash_hmac运用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。