RSA对称加解密

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: 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;
}

}

相关文章
|
7月前
|
算法 数据安全/隐私保护
对称密钥加密算法和公开密钥加密算法有什么区别
【4月更文挑战第19天】对称密钥和公开密钥加密算法各有特点:对称密钥加密速度快,适用于大量数据,但密钥管理困难;公开密钥加密安全性高,密钥管理方便,但速度慢,常用于数字签名和身份验证。两者在不同场景下有不同优势。
435 6
|
7月前
|
算法 安全 网络安全
非对称加密算法RSA
RSA是一种基于数论的非对称加密算法,依赖大整数质因数分解的困难性保证安全性。它生成公钥和私钥,公钥加密,私钥解密,适用于数据加密、数字签名和互联网安全等领域。尽管计算效率低、适合小量数据处理,但由于其兼容性、安全性和广泛应用于SSL/TLS、数字签名等,RSA仍是主流加密算法之一。
145 2
|
算法 安全 数据安全/隐私保护
RSA非对称加密算法
本实验带您实现了解并使用非对称加密与RSA算法。
|
6月前
|
存储 安全 算法
RSA非对称加密算法中的密钥对生成与传输
RSA非对称加密算法的密钥对生成与传输是信息安全领域的核心问题之一。密钥生成过程需要保证随机性和安全性,而密钥的传输则需要选择适当的方式来确保其保密性和完整性。通过合理的密钥管理和保护措施,可以有效地利用RSA算法保护通信安全,防止信息泄露和篡改。在实际应用中,用户和系统管理员需要结合具体情况选择最佳的密钥生成和传输策略,以达到最佳的安全性和效率。
|
7月前
|
存储 算法 安全
加密解密(RSA)非对称加密算法
加密解密(RSA)非对称加密算法
|
7月前
|
算法 Java 数据安全/隐私保护
RSA 加解密 1024 位 & 2048 位
RSA 加解密 1024 位 & 2048 位
247 0
|
存储 编解码 算法
RSA加密/解密
RSA加密算法是一种可逆的非对称加密算法,即RSA加密时候用的密钥(公钥)和RSA解密时用的密钥(私钥)不是同一把。基本原理是将两个很大的质数相乘很容易得到乘积,但是该乘积分解质因数却很困难。RSA算法被广泛的用于加密解密和RSA签名/验证等领域。
595 0
|
算法 安全 Java
java实现ecc加密:通过AES获取公钥和私钥进行ECC加密
java实现ecc加密:通过AES获取公钥和私钥进行ECC加密
892 0
java实现ecc加密:通过AES获取公钥和私钥进行ECC加密
|
移动开发 Java 数据安全/隐私保护
小程序RSA非对称加密/解密
小程序RSA非对称加密/解密 官方文档参考:官方文档参考 1.my.rsa 支持的密钥1024或者2048都可以进行加密解密(密钥的生成可以用代码(如java)自行实现或者使用工具生成(可参考:支付宝提供一键生成密钥工具)); 2.
1855 11
|
算法 数据安全/隐私保护