RSA对称加解密

简介: RSA对称加解密

import cn.hutool.crypto.asymmetric.KeyType;
import cn.hutool.crypto.asymmetric.RSA;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**

  • @author lwb
  • @date 2022/10/19 10:58 上午

*/
@RestController
@RequestMapping("/rsa")
public class RSADemo {

//私钥
@Value("${pcPrivateKey:123}")
private String pcPrivateKey;
//公钥
@Value("${pcPublicKey:123}")
private String pcPublicKey;

/**
 * 公钥加密私钥解密
 */
@GetMapping("/encryption")
public String bind() {
    RSA rsa = new RSA(null, pcPublicKey);
    String data = "123456";//密码
    String s = rsa.encryptBase64(data, KeyType.PublicKey);
    System.out.println(s);//公钥加密后密码
    RSA rsa2 = new RSA(pcPrivateKey, null);
    String s1 = rsa2.decryptStr(s, KeyType.PrivateKey);
    System.out.println(s1);//私钥解密后密码
    return s1;
}

/**
 * 私钥加密公钥解密
 */
@GetMapping("/encryption2")
public String bindas() {
    RSA rsa = new RSA(pcPrivateKey, null);
    String data = "123456";//密码
    String s = rsa.encryptBase64(data, KeyType.PrivateKey);
    System.out.println(s);//私钥加密后密码
    RSA rsa2 = new RSA(null, pcPublicKey);
    String s1 = rsa2.decryptStr(s, KeyType.PublicKey);
    System.out.println(s1);//公钥解密后密码
    return s1;
}

}

相关文章
|
10天前
|
算法 数据安全/隐私保护
对称密钥加密算法和公开密钥加密算法有什么区别
【4月更文挑战第19天】对称密钥和公开密钥加密算法各有特点:对称密钥加密速度快,适用于大量数据,但密钥管理困难;公开密钥加密安全性高,密钥管理方便,但速度慢,常用于数字签名和身份验证。两者在不同场景下有不同优势。
26 6
|
14天前
|
存储 算法 安全
加密解密(RSA)非对称加密算法
加密解密(RSA)非对称加密算法
|
7月前
非对称式多谐振荡电路的介绍
非对称式多谐振荡电路:实现多频率稳定振荡的关键 引言: 非对称式多谐振荡电路是一种能够产生多个频率的振荡信号的电路结构。它通过非对称的反馈回路和多个谐振网络的组合来实现多频率的振荡。本文将介绍非对称式多谐振荡电路的原理、应用、设计与实现方法,以及其优缺点。 一、原理 非对称式多谐振荡电路的原理是通过放大器和反馈回路的相互作用来实现多频率的振荡。具体原理如下: 1. 初始状态:当电路开始工作时,放大器的输出信号为零。 2. 放大器放大信号:输入信号经过放大器放大后,形成一个较大的输出信号。 3. 反馈信号:放大器的输出信号被送回到反馈回路中,与输入信号相叠加形成反馈信号。 4. 正反
115 0
|
4月前
|
算法 Java 数据安全/隐私保护
RSA 加解密 1024 位 & 2048 位
RSA 加解密 1024 位 & 2048 位
63 0
|
5月前
|
存储 算法 安全
C++ CryptoPP使用RSA加解密
Crypto++ (CryptoPP) 是一个用于密码学和加密的 C++ 库。它是一个开源项目,提供了大量的密码学算法和功能,包括对称加密、非对称加密、哈希函数、消息认证码 (MAC)、数字签名等。Crypto++ 的目标是提供高性能和可靠的密码学工具,以满足软件开发中对安全性的需求。RSA(Rivest-Shamir-Adleman)是一种非对称加密算法,由三位密码学家Ron Rivest、Adi Shamir和Leonard Adleman于1977年共同提出。RSA算法被广泛应用于信息安全领域,特别是在数字签名和密钥交换等场景中。
111 0
C++ CryptoPP使用RSA加解密
|
7月前
|
算法 数据安全/隐私保护
20.2 OpenSSL 非对称RSA加解密算法
RSA算法是一种非对称加密算法,由三位数学家`Rivest`、`Shamir`和`Adleman`共同发明,以他们三人的名字首字母命名。RSA算法的安全性基于大数分解问题,即对于一个非常大的合数,将其分解为两个质数的乘积是非常困难的。OpenSSL库中提供了针对此类算法的支持,但在使用时读者需要自行生成公钥与私钥文件,在开发工具包内有一个`openssl.exe`程序,该程序则是用于生成密钥对的工具,当我们需要使用非对称加密算法时,则可以使用如下命令生成公钥和私钥。
46 0
20.2 OpenSSL 非对称RSA加解密算法
|
7月前
|
算法 搜索推荐 安全
20.3 OpenSSL 对称AES加解密算法
AES算法是一种对称加密算法,全称为高级加密标准(Advanced Encryption Standard)。它是一种分组密码,以`128`比特为一个分组进行加密,其密钥长度可以是`128`比特、`192`比特或`256`比特,因此可以提供不同等级的安全性。该算法采用了替代、置换和混淆等技术,以及多轮加密和密钥扩展等机制,使得其加密效果优秀,安全性高,被广泛应用于各种领域中,如数据加密、文件加密、网络安全等。
82 0
20.3 OpenSSL 对称AES加解密算法
|
存储 编解码 算法
RSA加密/解密
RSA加密算法是一种可逆的非对称加密算法,即RSA加密时候用的密钥(公钥)和RSA解密时用的密钥(私钥)不是同一把。基本原理是将两个很大的质数相乘很容易得到乘积,但是该乘积分解质因数却很困难。RSA算法被广泛的用于加密解密和RSA签名/验证等领域。
492 0
|
算法 安全 Java
java实现ecc加密:通过AES获取公钥和私钥进行ECC加密
java实现ecc加密:通过AES获取公钥和私钥进行ECC加密
607 0
java实现ecc加密:通过AES获取公钥和私钥进行ECC加密
|
C# 数据安全/隐私保护
RSA不限长度非对称加密解密C#
RSA 分段加解密【解决“不正确的长度”的异常】   RSA 是常用的非对称加密算法。最近使用时却出现了“不正确的长度”的异常,研究发现是由于待加密的数据超长所致。   .NET Framework 中提供的 RSA 算法规定:   待加密的字节数不能超过密钥的长度值除以 8 再减去 11(即:RSACryptoServiceProvider.KeySize / 8 - 11),而加密后得到密文的字节数,正好是密钥的长度值除以 8(即:RSACryptoServiceProvider.KeySize / 8)。
1560 0