JavaScript加密@小四

第一種:Unicode編碼加密

1. 先來看一段代碼,吊吊胃口,賣賣關(guān)子

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script>
    let str = '';
    for(let i = 38000;i<40000; i++) {
        str+=String.fromCharCode(i); // fromCharCode() 可接受一個指定的 Unicode 值,然后返回一個字符串。
    }
    document.body.innerHTML = str;
</script>
</body>
</html>

以上代碼輸出的結(jié)果會是:“一堆你不認識的字符串”

2. 轉(zhuǎn)換

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<input type="text"><input type="button" value="加密">
<div id="div1">加密...</div>
<script>
    /*
    * 點擊加密按鈕后,會把你輸入的字符通過charCodeAt() 方法轉(zhuǎn)為數(shù)字
    */
let aInput = document.getElementsByTagName('input');
let oDiv = document.getElementById('div1');
aInput[1].onclick = function () {
    let str = aInput[0].value; // 輸入的文字
    let str1 = '';
    for (let i = 0; i<str.length; i++) {
        str1+=str.charCodeAt(i) + ':'; // charCodeAt() 方法可返回指定位置的字符的 Unicode 編碼。這個返回值是 0 - 65535 之間的整數(shù)
    }
    oDiv.innerHTML = str1;
}
</script>
</body>
</html>

以上代碼輸出的結(jié)果會是:“擊加密按鈕后,會把你輸入的字符通過charCodeAt() 方法轉(zhuǎn)為數(shù)字”

3. 加密

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<input type="text"><input type="button" value="加密">
<div id="div1">加密...</div>
<script>
let aInput = document.getElementsByTagName('input');
let oDiv = document.getElementById('div1');
aInput[1].onclick = function () {
    let str = aInput[0].value; // 輸入的文字
    let str1 = '';
    for (let i = 0; i<str.length; i++) {
        str1+=String.fromCharCode(str.charCodeAt(i) - 10000) + ':'; // 這里是加密規(guī)則(當然這個規(guī)則由你自己定),熟記
    }
    oDiv.innerHTML = str1;
}
</script>
</body>
</html>

以上代碼輸出的結(jié)果會是:“按照你自己定義的加密規(guī)則,對輸入的內(nèi)容 進行加密”

第二種:base64加密

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="base64.js"></script>
</head>
<body>
<input type="text" placeholder="輸入要加密的內(nèi)容"><input type="button" value="加密"><input type="button" value="解密">
<div id="div1">加密...</div>
<script>
let aInput = document.getElementsByTagName('input');
let oDiv = document.getElementById('div1');
let base = new Base64();
aInput[1].onclick = function () { // 加密
    oDiv.innerHTML = base.encode(aInput[0].value);
}
aInput[2].onclick = function () { // 解密
    oDiv.innerHTML = base.decode(oDiv.innerHTML);
}

</script>
</body>
</html>
同學們聽我說
?著作權(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)容

  • 背景 ? 隨著移動互聯(lián)網(wǎng)的普及,被越來越多的心懷不軌的人覬覦,也越來越多的安全問題暴露了出來。開發(fā)者開發(fā)出來的應用...
    陵無山閱讀 3,115評論 1 13
  • CTF中那些腦洞大開的編碼和加密 0x00 前言 正文開始之前先閑扯幾句吧,玩CTF的小伙伴也許會遇到類似這樣的問...
    查無此人asdasd閱讀 6,479評論 0 19
  • 概述 之前一直對加密相關(guān)的算法知之甚少,只知道類似DES、RSA等加密算法能對數(shù)據(jù)傳輸進行加密,且各種加密算法各有...
    Henryzhu閱讀 3,234評論 0 14
  • ??引用類型的值(對象)是引用類型的一個實例。 ??在 ECMAscript 中,引用類型是一種數(shù)據(jù)結(jié)構(gòu),用于將數(shù)...
    霜天曉閱讀 1,227評論 0 1
  • 短信祝福只要說出你真心想說的話就好,網(wǎng)上我們整理的這些短信雖然文彩很好,但并不一定都適合你給你的女朋友發(fā),其實當你...
    扎心情話閱讀 1,009評論 0 2

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