外贸平台哪个网站最好不收费,编程python,绵阳科技网站建设,徐州网站建设培训班前言
前篇给大家介绍了运算符不为人知的基础知识。他们的各种表达形式#xff0c;今天我们从这个基础上#xff0c;继续进一步告诉大家#xff0c;如何对字符串进行加密处理。还是那句话#xff0c;技术人不废话#xff0c;直接晒代码。
示例源代码
// 字符串加密示…
前言
前篇给大家介绍了运算符不为人知的基础知识。他们的各种表达形式今天我们从这个基础上继续进一步告诉大家如何对字符串进行加密处理。还是那句话技术人不废话直接晒代码。
示例源代码
// 字符串加密示例
let str Hello World;// 加密
let encryptedString [[] [] [] [] [] [] [] [],![] [] [] [] [] [] [] [],!![] [] [] [] [] [] [] [],[] [] [] [] [] [] [] [],-[] [] [] [] [] [] [] [],~[] [] [] [] [] [] [] []
].join();console.log(encryptedString); // 输出[object Object]undefinedtrue0-0-1// 解密
let decryptedString eval(String.fromCharCode( encryptedString.match(/\d/g).join(,) ));
console.log(decryptedString); // 输出Hello World测试
很多简单的加密都可以通过一键JS解密去解开。我们可以把上边的代码丢进去测试一下看是否可以直接解出来。这个JS一键解密是jsjiami官网的功能。经测试该加密无法一键解开安全性还是有的。
原理分析
字符串定义: 代码一开始定义了字符串Hello World我们将对其进行加密和解密操作。加密操作: 在加密部分我们使用了一系列操作符来表示不同的字符 [] [] 会转换成undefined。![] 会转换成false加上[]后变成“false”。!![] 会转换成true加上[]后变成“true”。[] 会转换成数字0加上[]后变成“0”。-[] 会转换成数字-0加上[]后变成“0”。~[] 会转换成数字-1加上[]后变成“-1”。 这些操作符产生的结果被存储在数组中然后使用join函数连接成一个字符串形成了加密后的字符串[object Object]undefinedtrue0-0-1。