共计 989 个字符,预计需要花费 3 分钟才能阅读完成。
异或加密
异或加密是所有的加密形式外面相对来说比较简单的形式,一次异或是加密,两次异或是解密,因为简略所以加密的级别页不高很容易就被破解了,这里只是对于加密的学习,一个入门的理解
应用
异或加密其实时应用 ^ 符号来进行加密的,符号的两边都必须是数字 . 数字 1 ^ 数字 2
// 这个例子是因为这里的密钥是一个数字的字符串,所以也要给转成数字才能够进行异或,
- 秘钥是字符串时
// 看上面的代码 last += String.fromCharCode(text2) 每次是在跳出 pass 的循环之后才追加的 text2, 其实这个办法外面应用的异或的 key 始终是数字字符串的最初一位~~~~
let text = "兇宯戠昞杔裴逍皵"
let pass = "12311";
let x = ff(pass,text)
console.log(x); // 其实我是来装逼的
function ff(pass,text){
let last = ''
for (let i = 0; i < text.length; i++) {
let text2 = ''
for (let j = 0; j < pass.length; j++) {let key = pass.charCodeAt(j)
text2 = text.charCodeAt(i) ^ key
console.log(text2,j);
}
// 从两次的打印能够看进去其实以取得数字是 pass 的最初一位
console.log(text2,"23423423423");
last += String.fromCharCode(text2)
}
console.log(last);
return last
}
- 秘钥是数字时
let text = "12345"
let pass = 55555555;
let x = ff(pass,text)
console.log(x); //뗒뗑뗐뗗뗖
function ff(pass,text){
let last = ''
for (let i = 0; i < text.length; i++) {
let text2 = ''
text2 = text.charCodeAt(i) ^ pass
console.log(text2,"23423423423");
last += String.fromCharCode(text2)
}
return last
}
正文完