带有公钥和私钥的简单加密消息

编程入门 行业动态 更新时间:2024-10-04 07:18:13

带有公钥和私钥的简单加密<a href=https://www.elefans.com/category/jswz/34/1771421.html style=消息"/>

带有公钥和私钥的简单加密消息

我的代码怎么能做到完美无懈可击。 首先我用

privateKey
加密消息然后用收件人的
publicKey
重新加密。但是
publicKey
可以很容易地分解为
privateKey
。怎样做正确的
key
才不容易坏? 这是我的代码

function getKey(text){
    let privateKey = [...text].map(e => e.codePointAt())
    let publicKey = privateKey.map(e => e ^ 255)
    return { publicKey, privateKey }
}
function xorText(text, key){
    return String.fromCharCode(
        ...[...text].map((x, i) => x.codePointAt() ^ key[i % key.length]
    ))
}
function test(){
    let message = 'secret-message-123'
    let aliceKey = getKey('password-556')
    let bobKey = getKey('bobargs-471')
    // encoding message
    let messageEncrypted = xorText(message,          aliceKey.privateKey)
        messageEncrypted = xorText(messageEncrypted, bobKey.publicKey)
    // decoding message
    let receiptMessage = xorText(messageEncrypted, aliceKey.publicKey)
        receiptMessage = xorText(receiptMessage,   bobKey.privateKey)
    
    console.log(receiptMessage) // work
    // crack publicKey to privateKey
    let crack = bobKey.publicKey.map(e => e ^ 255)
    console.log(bobKey.privateKey, crack)
    console.log('same',bobKey.privateKey.toString() == crack.toString()) // true
}
test()

试了很多次都没解决

回答如下:

更多推荐

带有公钥和私钥的简单加密消息

本文发布于:2024-05-30 22:16:59,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1770983.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:消息   简单   公钥

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!