类 RSAHelper
- java.lang.Object
-
- com.xwl41.common.basic.helper.RSAHelper
-
public class RSAHelper extends Object
RSAHelper RSA密钥使用相关
-
-
构造器概要
构造器 构造器 说明 RSAHelper()
-
方法概要
所有方法 静态方法 具体方法 修饰符和类型 方法 说明 static booleancheck(String plainText, String encodedSign, String encodedPublicKey)static booleancheck(String plainText, String encodedSign, String encodedPublicKey, String signAlgorithm)公钥验签static booleancheck(String plainText, String encodedSign, PublicKey publicKey)static booleancheck(String plainText, String encodedSign, PublicKey publicKey, String signAlgorithm)公钥验签static RSAPrivateKeyconvertToPrivateKey(String encodedBase64KeyStr)将字符串格式私钥转换为RSA私钥对象static RSAPublicKeyconvertToPublicKey(String encodedBase64KeyStr)将字符串格式公钥转换为RSA公钥对象static byte[]decrypt(PrivateKey key, byte[] cipherData)static StringdecryptFromBase64String(PrivateKey key, String base64Ciphertext)static byte[]encrypt(PublicKey key, byte[] plainData)static StringencryptToBase64String(String publicKeyStr, String plaintext)static StringencryptToBase64String(String publicKeyStr, String plaintext, Charset charset)static StringencryptToBase64String(PublicKey key, String plaintext)static StringencryptToBase64String(PublicKey key, String plaintext, Charset charset)static Map<String,Key>genRSAKeyPair(int keySize)生成RSA密钥对static Map<String,String>genRSAKeyStringPair(int keySize)static RSAPrivateKeygetRSAPrivateKey(String keyFileContent)从指定文件读取字符串格式私钥并转换为私钥对象static RSAPublicKeygetRSAPublicKey(String keyFileContent)从指定文件读取字符串格式公钥并转换为公钥对象static booleansaveKeyPair(Map<String,Key> keyMap, String path)保存密钥对到指定目录static Stringsign(String plainText, String privateKey)static Stringsign(String plainText, String privateKey, String signAlgorithm)static Stringsign(String plainText, PrivateKey privateKey)static Stringsign(String plainText, PrivateKey privateKey, String signAlgorithm)static StringtoEncodedString(Key key)
-
-
-
方法详细资料
-
genRSAKeyPair
public static Map<String,Key> genRSAKeyPair(int keySize) throws NoSuchAlgorithmException
生成RSA密钥对- 参数:
keySize- 密钥位数- 返回:
- 生成的密钥对
- 抛出:
NoSuchAlgorithmException- 无指定算法异常
-
genRSAKeyStringPair
public static Map<String,String> genRSAKeyStringPair(int keySize) throws NoSuchAlgorithmException
-
saveKeyPair
public static boolean saveKeyPair(Map<String,Key> keyMap, String path)
保存密钥对到指定目录- 参数:
keyMap- 密钥对path- 要保存密钥对文件的路径- 返回:
- 保存是否成功
-
convertToPublicKey
public static RSAPublicKey convertToPublicKey(String encodedBase64KeyStr)
将字符串格式公钥转换为RSA公钥对象- 参数:
encodedBase64KeyStr- 字符串格式公钥- 返回:
- 返回RSA公钥对象
-
convertToPrivateKey
public static RSAPrivateKey convertToPrivateKey(String encodedBase64KeyStr)
将字符串格式私钥转换为RSA私钥对象- 参数:
encodedBase64KeyStr- 字符串格式私钥- 返回:
- RSA私钥对象
-
getRSAPublicKey
public static RSAPublicKey getRSAPublicKey(String keyFileContent)
从指定文件读取字符串格式公钥并转换为公钥对象- 参数:
keyFileContent- 完整密钥文件文本内容- 返回:
- 公钥对象
-
getRSAPrivateKey
public static RSAPrivateKey getRSAPrivateKey(String keyFileContent)
从指定文件读取字符串格式私钥并转换为私钥对象- 参数:
keyFileContent- 完整密钥文件文本内容- 返回:
- 私钥对象
-
decrypt
public static byte[] decrypt(PrivateKey key, byte[] cipherData)
-
decryptFromBase64String
public static String decryptFromBase64String(PrivateKey key, String base64Ciphertext)
-
encrypt
public static byte[] encrypt(PublicKey key, byte[] plainData)
-
encryptToBase64String
public static String encryptToBase64String(PublicKey key, String plaintext, Charset charset)
-
encryptToBase64String
public static String encryptToBase64String(String publicKeyStr, String plaintext)
-
encryptToBase64String
public static String encryptToBase64String(String publicKeyStr, String plaintext, Charset charset)
-
sign
public static String sign(String plainText, PrivateKey privateKey, String signAlgorithm)
-
sign
public static String sign(String plainText, PrivateKey privateKey)
-
check
public static boolean check(String plainText, String encodedSign, String encodedPublicKey, String signAlgorithm)
公钥验签- 参数:
plainText- 明文encodedSign- 使用Base64编码的签名encodedPublicKey- 使用Base64编码的公钥signAlgorithm- 签名算法(MD5withRSA/SHA1withRSA)- 返回:
- 验签结果
-
check
public static boolean check(String plainText, String encodedSign, PublicKey publicKey, String signAlgorithm)
公钥验签- 参数:
plainText- 明文encodedSign- 使用Base64编码的签名publicKey- 公钥signAlgorithm- 签名算法(MD5withRSA/SHA1withRSA)- 返回:
- 验签结果
-
-