1

异或加密

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

使用

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


芹丸子
40 声望4 粉丝

所有文章都是自己的学习记录,如果对你有帮助我很荣幸,如果文章记录之处有什么不对不好的地方还请指教