乐趣区

关于前端:异或加密

异或加密

异或加密是所有的加密形式外面相对来说比较简单的形式,一次异或是加密,两次异或是解密,因为简略所以加密的级别页不高很容易就被破解了,这里只是对于加密的学习,一个入门的理解

应用

异或加密其实时应用 ^ 符号来进行加密的,符号的两边都必须是数字 . 数字 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
}

退出移动版