Class RSA
java.lang.Object
tech.riemann.nif.utils.codec.RSA
RSA加密工具类,提供RSA算法的密钥生成、加密、解密、签名和验证功能
支持生成RSA密钥对、从文件或字符串加载密钥、使用公钥/私钥进行加密解密 以及使用私钥进行签名和公钥进行签名验证
- Author:
- Kerbores(kerbores@riemann.tech)
-
Method Summary
Modifier and TypeMethodDescriptionstatic byte[]decrypt(RSAPrivateKey privateKey, byte[] cipherData) 使用私钥解码static byte[]decrypt(RSAPublicKey publicKey, byte[] cipherData) 使用公钥解密static StringdecryptToString(RSAPrivateKey privateKey, byte[] cipherData) 使用私钥解密static StringdecryptToString(RSAPrivateKey privateKey, String cipher) 使用私钥解密static StringdecryptToString(RSAPublicKey publicKey, byte[] cipherData) 使用公钥解密static StringdecryptToString(RSAPublicKey publicKey, String cipher) 使用公钥解密static StringdecryptUsePrivateKey(String privateKey, String cipher) 使用私钥解密static StringdecryptUsePublicKey(String publicKey, String cipher) 使用公钥解密static byte[]encrypt(RSAPrivateKey privateKey, byte[] plainTextData) 使用私钥加密明文static byte[]encrypt(RSAPublicKey publicKey, byte[] plainTextData) 使用公钥加密明文static StringencryptToString(RSAPrivateKey privateKey, byte[] plainTextData) 使用私钥加密明文static StringencryptToString(RSAPrivateKey privateKey, String plainText) 使用私钥加密明文static StringencryptToString(RSAPublicKey publicKey, byte[] plainTextData) 使用公钥加密明文static StringencryptToString(RSAPublicKey publicKey, String plainText) 使用公钥加密明文static StringencryptUsePrivateKey(String privateKey, String plainText) 使用私钥加密明文static StringencryptUsePublicKey(String publicKey, String plainText) 使用公钥加密明文static KeyPair生成公私钥对static voidgenKeyPair(String filePath) 随机生成密钥对static StringloadPrivateKeyByFile(String path) 从文件中加载私钥static RSAPrivateKeyloadPrivateKeyByStr(String privateKeyStr) 字符串中加载私钥static StringloadPublicKeyByFile(String path) 从文件中输入流中加载公钥static RSAPublicKeyloadPublicKeyByStr(String publicKeyStr) 从字符串中加载公钥static String私钥签名static Stringsign(String plainText, PrivateKey privateKey) 私钥签名static boolean签名验证static boolean签名验证
-
Method Details
-
genKeyPair
-
genKeyPair
-
loadPublicKeyByFile
-
loadPrivateKeyByFile
-
loadPublicKeyByStr
从字符串中加载公钥- Parameters:
publicKeyStr- 公钥字符串- Returns:
- 公钥
-
loadPrivateKeyByStr
字符串中加载私钥- Parameters:
privateKeyStr- 私钥字符串- Returns:
- 私钥
-
encrypt
使用公钥加密明文- Parameters:
publicKey- 公钥plainTextData- 明文- Returns:
- 密文
-
encrypt
使用私钥加密明文- Parameters:
privateKey- 私钥plainTextData- 明文- Returns:
- 密文
-
encryptToString
使用公钥加密明文- Parameters:
publicKey- 公钥plainTextData- 明文- Returns:
- 密文
-
encryptToString
使用私钥加密明文- Parameters:
privateKey- 私钥plainTextData- 明文- Returns:
- 密文
-
encryptToString
使用公钥加密明文- Parameters:
publicKey- 公钥plainText- 明文- Returns:
- 密文
-
encryptToString
使用私钥加密明文- Parameters:
privateKey- 私钥plainText- 明文- Returns:
- 密文
-
encryptUsePublicKey
-
encryptUsePrivateKey
-
decrypt
使用私钥解码- Parameters:
privateKey- 私钥cipherData- 密文- Returns:
- 明文
-
decrypt
使用公钥解密- Parameters:
publicKey- 公钥cipherData- 密文- Returns:
- 明文
-
decryptToString
使用私钥解密- Parameters:
privateKey- 私钥cipherData- 密文- Returns:
- 明文
-
decryptToString
使用公钥解密- Parameters:
publicKey- 公钥cipherData- 密文- Returns:
- 明文
-
decryptToString
使用私钥解密- Parameters:
privateKey- 私钥cipher- 密文- Returns:
- 明文
-
decryptToString
使用公钥解密- Parameters:
publicKey- 公钥cipher- 密文- Returns:
- 明文
-
decryptUsePrivateKey
-
decryptUsePublicKey
-
sign
私钥签名- Parameters:
plainText- 明文privateKey- 私钥- Returns:
- 签名信息
-
sign
-
verify
-
verify
-