关于前端:异或加密

异或加密

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

应用

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

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理