JavaScript加密@小四

第一种:Unicode编码加密

1. 先来看一段代码,吊吊胃口,卖卖关子

<!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>

以上代码输出的结果会是:“一堆你不认识的字符串”

2. 转换

<!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() 方法转为数字
    */
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 之间的整数
    }
    oDiv.innerHTML = str1;
}
</script>
</body>
</html>

以上代码输出的结果会是:“击加密按钮后,会把你输入的字符通过charCodeAt() 方法转为数字”

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) + ':'; // 这里是加密规则(当然这个规则由你自己定),熟记
    }
    oDiv.innerHTML = str1;
}
</script>
</body>
</html>

以上代码输出的结果会是:“按照你自己定义的加密规则,对输入的内容 进行加密”

第二种: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="输入要加密的内容"><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>
同学们听我说
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 背景 ​ 随着移动互联网的普及,被越来越多的心怀不轨的人觊觎,也越来越多的安全问题暴露了出来。开发者开发出来的应用...
    陵无山阅读 3,077评论 1 13
  • CTF中那些脑洞大开的编码和加密 0x00 前言 正文开始之前先闲扯几句吧,玩CTF的小伙伴也许会遇到类似这样的问...
    查无此人asdasd阅读 6,116评论 0 19
  • 概述 之前一直对加密相关的算法知之甚少,只知道类似DES、RSA等加密算法能对数据传输进行加密,且各种加密算法各有...
    Henryzhu阅读 3,064评论 0 14
  •   引用类型的值(对象)是引用类型的一个实例。   在 ECMAscript 中,引用类型是一种数据结构,用于将数...
    霜天晓阅读 1,105评论 0 1
  • 短信祝福只要说出你真心想说的话就好,网上我们整理的这些短信虽然文彩很好,但并不一定都适合你给你的女朋友发,其实当你...
    扎心情话阅读 962评论 0 2