美文网首页
RSA加密解密-公钥解密

RSA加密解密-公钥解密

作者: 奋起的小菜鸟 | 来源:发表于2019-10-15 15:55 被阅读0次

    技术:jsencrypt.js
    这个前端库有一个特点:公钥加密、私钥解密,没有公钥解密(只能前端公钥加密后台私钥解密)
    开发中遇到的问题:后端使用私钥加密,前端需要使用公钥进行解密,返回的结果为false?
    解决办法:实现双向加密,就是使用两套秘钥。
    后端有两对秘钥:privateKeyA,publicKeyA,privateKeyB,publicKeyB(privateKey:私钥 publicKey:公钥)
    后端拿着:privateKeyA,publicKeyB
    前端拿着:publicKeyA,privateKeyB

    前端加密时用publicKeyA,后端用privateKeyA解密
    后端加密时用publicKeyB,前端用privateKeyB解密

    这样就能保证,虽然私钥和公钥都在前端代码中,但是这两个并不是一对,就算是全部拿到,也无法成功解密。

    前端代码:

        /**
         * RSA解密
         */
        decryptRSA:str=>{
            let encryptor = new JSEncrypt(); // 新建JSEncrypt对象
            let privateKey = "privateKeyB";//后台提供
            encryptor.setPrivateKey(privateKey);//设置私钥
            let decrytStr = encryptor.decrypt(str);
            return decrytStr
        },
        /**
         * RSA加密
         */
        encryptRSA:str=>{
            let encryptor = new JSEncrypt(); // 新建JSEncrypt对象
            let publicKey = "publicKeyA";  //后台提供
            encryptor.setPublicKey(publicKey); // 设置公钥
            let rsaPassWord = encryptor.encrypt(str);
            return rsaPassWord;
        },
    

    相关文章

      网友评论

          本文标题:RSA加密解密-公钥解密

          本文链接:https://www.haomeiwen.com/subject/umysmctx.html