前端RAS加密

前端RAS加密

我不是程序的创造者,我只是程序的搬运工。

h5

<!DOCTYPE html>
<html>

<head>
    <meta charset="UTF-8">
    <title>使用jsencrypt执行OpenSSL的RSA加密,解密</title>
</head>
<!--引入jsencrypt.js-->
<script src="https://cdn.bootcss.com/jsencrypt/3.0.0-beta.1/jsencrypt.js"></script>
<script type="text/javascript">
    let data = {
        id:"jiami",
        say:"你好"
    };
    //公钥
    var PUBLIC_KEY = `MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEArJodtsDZpjafOvVnlsbp
ITUrzMVzSy6lxV3zY1J8DFkz1er1697Omp9q2gOTXOpl6so3wvukJbiG5DmcAkVq
/igSdIr90F/EvHFOXwhnJWuE+HQDe6lEiqIy2KEAN7NUvsJYx25SkpLEog2yizMJ
ogvWuCEXiJc7jlEmu1qkO0Loh+6F4NOkK0BxUOLtMHHxjF4qhKavpGTrbc6UIHqy
2Dz3dBohiTVlC/YuawEY77RDs4sshr4tS2K8ueS+HPk79wsJDBOW7fslLjlApuNP
uxdAJILAaqQSOaN9bD91DWbAbSPCBRLl9gaOGfyVG6vpIHzPuAPtm8XoQisq9sSR
s6WhmAhEyYjUa4QKwlOCf2zX8Od6bCnFiwbR3obYn/71fam+79LFxJgHOmJY71QL
5bPAppOs2K2Bxz4Cr0+awFeJbYvwOLmTKmt5rs1HtqlnmOf8s+FWMR7BsSDj1U+6
EwusJ/Jlh1v2me5G4AkqAubduyBul+Icyt4DCtddwWBvvwUKoaPCS9pP/rBlJFKA
b7cKm8PXf6wlLs9S0T8cnZRpFiEj5vZ9taBHnZhaXSeNQagwMXpNqfQHPf/kYmjO
JX0ENBzamX2eAXVCx7PwfnoL5hE1Tka1rYRbIR5Sl/xLsp11mWnr9iAHlxH6UUYE
c4FRAdmUREQZegQPLEnf5XUCAwEAAQ==`;
    //私钥
    var PRIVATE_KEY = `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
oj1Vqya2ysj63CdNzf+nsmIEk/a1yw==`;
    //使用公钥加密
    var encrypt = new JSEncrypt();
    //encrypt.setPrivateKey('-----BEGIN RSA PRIVATE KEY-----'+PRIVATE_KEY+'-----END RSA PRIVATE KEY-----');
    encrypt.setPublicKey(PUBLIC_KEY);
    var encrypted = encrypt.encrypt(JSON.stringify(data));
    console.log('加密后数据:%o', encrypted);
    //使用私钥解密
    var decrypt = new JSEncrypt();
    //decrypt.setPublicKey('-----BEGIN PUBLIC KEY-----' + PUBLIC_KEY + '-----END PUBLIC KEY-----');
    decrypt.setPrivateKey(PRIVATE_KEY);
    var uncrypted =JSON.parse(decrypt.decrypt(encrypted));
    console.log('解密后数据:%o', uncrypted);
</script>

</html>

node 使用

npm install jsencrypt 
import { JSEncrypt } from 'jsencrypt'
//加密
    function encrypt(data, publicKey) {
        JSEncrypt.setPublicKey(PUBLIC_KEY);
        return JSEncrypt.encrypt(JSON.stringify(data));
    };
    //解密
    function uncrypted(data, privateKey) {
        JSEncrypt.setPrivateKey(privateKey);
        return JSON.parse(JSEncrypt.decrypt(encrypted))
    }

    //使用
    let data = {
        id: "jiami",
        say: "你好"
    };
    //公钥
    let PUBLIC_KEY = `MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEArJodtsDZpjafOvVnlsbp
ITUrzMVzSy6lxV3zY1J8DFkz1er1697Omp9q2gOTXOpl6so3wvukJbiG5DmcAkVq
/igSdIr90F/EvHFOXwhnJWuE+HQDe6lEiqIy2KEAN7NUvsJYx25SkpLEog2yizMJ
ogvWuCEXiJc7jlEmu1qkO0Loh+6F4NOkK0BxUOLtMHHxjF4qhKavpGTrbc6UIHqy
2Dz3dBohiTVlC/YuawEY77RDs4sshr4tS2K8ueS+HPk79wsJDBOW7fslLjlApuNP
uxdAJILAaqQSOaN9bD91DWbAbSPCBRLl9gaOGfyVG6vpIHzPuAPtm8XoQisq9sSR
s6WhmAhEyYjUa4QKwlOCf2zX8Od6bCnFiwbR3obYn/71fam+79LFxJgHOmJY71QL
5bPAppOs2K2Bxz4Cr0+awFeJbYvwOLmTKmt5rs1HtqlnmOf8s+FWMR7BsSDj1U+6
EwusJ/Jlh1v2me5G4AkqAubduyBul+Icyt4DCtddwWBvvwUKoaPCS9pP/rBlJFKA
b7cKm8PXf6wlLs9S0T8cnZRpFiEj5vZ9taBHnZhaXSeNQagwMXpNqfQHPf/kYmjO
JX0ENBzamX2eAXVCx7PwfnoL5hE1Tka1rYRbIR5Sl/xLsp11mWnr9iAHlxH6UUYE
c4FRAdmUREQZegQPLEnf5XUCAwEAAQ==`;
    //私钥
    let PRIVATE_KEY = `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
oj1Vqya2ysj63CdNzf+nsmIEk/a1yw==`;
    console.log('加密后数据:%o', encrypt(data, PUBLIC_KEY));
    console.log('解密后数据:%o', uncrypted(data, PRIVATE_KEY));

在线生成密钥的测试工具地址

https://www.toolnb.com/tools/testrsa.html

jsencrypt网盘地址(如果上面的方法下载不到,再使用网盘的)

链接: https://pan.baidu.com/s/1RSTiml8pVm-4qXDWbFsLYg 提取码: rcid

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值