字符串加密和解密的关键是算法设计,字符串经过复杂的编码处理,返回一组看似杂乱无章的字符串。对于常人来说,输入的字符串是可以阅读的信息,但是被函数打乱或编码之后显示的字符串就会变成无意义的信息。想要把这些垃圾信息变成可用信息,还需要使用相反的算法把它们逆转回来。
如果把字符串中的“中”字进行自定义加密。可以考虑利用 charCodeAt() 方法获取该字符的 Unicode 编码。
var s = "中";
var b = s.charCodeAt(0); //返回值20013
然后以 36 为倍数不断取余数。
b1 = b % 36; //返回值33,求余数
b = (b - b1) / 36; //返回值555,求倍数
b2 = b % 36; //返回值15,求余数
b = (b - b2) / 36; //返回值15,求倍数
b3 = b % 36; //返回值15,求余数
那么不断求得的余数,可以通过下面公式反算出原编码值。