异或加密
异或加密是所有的加密方式里面相对来说比较简单的方式,一次异或是加密,两次异或是解密,因为简单所以加密的级别页不高很容易就被破解了,这里只是对于加密的学习,一个入门的了解
使用
异或加密其实时使用 ^ 符号来进行加密的,符号的两边都必须是数字 .数字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
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。