RSA加密(含前后端)

后端

  1. maven引:
		RSA加密
        <dependency>
            <groupId>cn.hutool</groupId>
            <artifactId>hutool-crypto</artifactId>
            <version>5.6.3</version>
        </dependency>
       Base64
		<dependency>
            <groupId>commons-codec</groupId>
            <artifactId>commons-codec</artifactId>
            <version>1.10</version>
        </dependency>
  1. 生成公钥私钥(一对):
    @Test
    public void generatePairKey() throws UnsupportedEncodingException {
        RSA rsa = new RSA();
        String privateKeyBase64 = rsa.getPrivateKeyBase64();
        String publicKeyBase64 = rsa.getPublicKeyBase64();
        Console.log("priKey:{}", privateKeyBase64);
        Console.log("pubKey:{}", publicKeyBase64);
    }
  1. 验证测试:
//privateKeyBase64 私钥解密,用上面获取到的私钥解密
RSA rsa = new RSA(privateKey, null);
//encodePassword 前端传入的publicKeyBase64加密后的密码
byte[] decrypt = rsa.decrypt(Base64.decodeBase64(encodePassword), KeyType.PrivateKey);
String password = new String(decrypt);

前端

  1. 安装
npm install jsencrypt
  1. 加密
import JSEncrypt from 'jsencrypt'
var encryptor = new JSEncrypt()  // 创建加密对象实例
//之前ssl生成的公钥,复制的时候要小心不要有空格
var pubKey = '后端生成的publicKeyBase64公钥'
encryptor.setPublicKey(pubKey)//设置公钥
var rsaPassWord = encryptor.encrypt('要加密的内容')  // 对内容进行加密

前端内容部分有引用简书作者文章,特此说明。原创链接在下方

前端利用jsencrypt.js进行RSA加密

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值