前端js幾種加密/解密方法

一、base64加密

base64的github地址

示例

<html>
    <head>
        <title>前端的base64使用方法</title>
    </head>
    <body>
    </body>
<script>
var str = "hello";
var str64 = window.btoa("hello");
console.log("字符串是:"+str);
console.log("經(jīng)base64編碼后:"+str64);
console.log("base64解碼后:"+window.atob(str64));
</script>
</html>
輸出結(jié)果

二、MD5加密(不可逆)

MD5加密的github地址

關(guān)于MD5:
MD5.js是通過前臺js加密的方式對用戶信息,密碼等私密信息進行加密處理的工具,也可稱為插件。

MD5共有6種加密方法:
1, hex_md5(value)
2, b64_md5(value)
3, str_md5(value)
4, hex_hmac_md5(key, data)
5, b64_hmac_md5(key, data)
6, str_hmac_md5(key, data)

md5代碼下載地址——點此下載

下載好了用script 標簽引入使用

<script src="md5/md5.js"></script>"></script>
    <script>
        var code = "123456";
        var username = "123456";
        var password = "123456";
        var str1 = hex_md5("123456");
        var str2 = b64_md5("123456");
        var str3 = str_md5("123456");
        var str4 = hex_hmac_md5(code,code);
        var str5 = b64_hmac_md5(username,username);
        var str6 = str_hmac_md5(password,password);
        console.log(str1);            // e10adc3949ba59abbe56e057f20f883e
        console.log(str2);            // 4QrcOUm6Wau+VuBX8g+IPg
        console.log(str3);            // áü9IoY??VàWò??>
        console.log(str4);            // 30ce71a73bdd908c3955a90e8f7429ef
        console.log(str5);            // MM5xpzvdkIw5VakOj3Qp7w
        console.log(str6);            // 0?q§;Y??9U???t)?
</script>
輸出結(jié)果

三、sha1加密(不可逆)

sha1的github地址

此處沒找到sha1.js下載地址,所以在bootcdn中找在線文件到引入,需要的可自行從bootcdn中下載

<script src="https://cdn.bootcss.com/js-sha1/0.6.0/sha1.js"></script>
<script type="text/javascript">
        var sha1_1 = sha1("mosquito~");
        console.log(sha1_1);
        var sha1_2 = sha1("admin:1001");
        console.log(sha1_2);
</script>
輸出結(jié)果

四、編碼和解碼字符串

使用JS函數(shù)的escape()和unescape(),分別是編碼和解碼字符串

<script type="text/javascript">
      var escape1 =escape("我的名字是:mosquito~");//編碼
      console.log(escape1);
      var unescape1 = unescape(escape1); //解碼
      console.log(unescape1);
</script>  
輸出結(jié)果

五、AES/DES加密解密

下載crypto-js.js 引入使用 網(wǎng)址是點擊下載

var aseKey = "12345678"     //秘鑰必須為:8/16/32位
var message = "80018000142";
//加密
var encrypt = CryptoJS.AES.encrypt(message, CryptoJS.enc.Utf8.parse(aseKey), {
  mode: CryptoJS.mode.ECB,
  padding: CryptoJS.pad.Pkcs7
}).toString();
console.log(encrypt);    //VKrZlqykem73x8/T2oCfCQ==

//解密
var decrypt = CryptoJS.AES.decrypt(encrypt, CryptoJS.enc.Utf8.parse(aseKey), {
  mode: CryptoJS.mode.ECB,
  padding: CryptoJS.pad.Pkcs7
}).toString(CryptoJS.enc.Utf8);
console.log(decrypt);    //80018000142

【注】:加密的時候必須轉(zhuǎn)成字符串 使用toString。 解密的時候 必須使用utf8的格式

其他

RSA加密
sha256 js 前端加密

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

  • Swift1> Swift和OC的區(qū)別1.1> Swift沒有地址/指針的概念1.2> 泛型1.3> 類型嚴謹 對...
    cosWriter閱讀 11,689評論 1 32
  • varhash = hex_md5("123dafd"); alert(hash) /* * A JavaScri...
    一只大橘閱讀 2,048評論 0 2
  • sha1加密varsha = hex_sha1('mima123465') var sha = hex_sha1(...
    一只大橘閱讀 5,433評論 0 19
  • 那天我寫了這么一句話“我們終于成了有回憶可以回憶的大人了?!保缓蟀l(fā)覺19歲的夏天就這么過去了,是啊,不痛不癢的青...
    阿魂同學閱讀 535評論 4 1
  • 雖然自己是宿舍里最早起床的人,最早出門的人,但我知道有某個地方的五點鐘的風景是最美的。那里有很多可愛的人正在拼命…...
    逆風追夢人閱讀 308評論 0 0

友情鏈接更多精彩內(nèi)容