类 RsaKit
java.lang.Object
com.ijpay.core.kit.RsaKit
IJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付常用的支付方式以及各种常用的接口。
不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。
IJPay 交流群: 723992875、864988890
Node.js 版: https://gitee.com/javen205/TNWX
RSA 非对称加密工具类
- 作者:
- Javen
-
构造器概要
构造器 -
方法概要
修饰符和类型方法说明static booleancheckByPublicKey(String data, String sign, String publicKey) 公钥验证签名static booleancheckByPublicKey(String data, String sign, PublicKey publicKey) 公钥验证签名static StringdecryptByPrivateKey(String data, String privateKey) 私钥解密static StringdecryptByPrivateKey(String data, String privateKey, String fillMode) 私钥解密static StringdecryptByPrivateKeyByWx(String data, String privateKey) 私钥解密static StringencryptByPrivateKey(String data, String privateKey) 私钥签名static StringencryptByPrivateKey(String data, PrivateKey privateKey) 私钥签名static StringencryptByPublicKey(String data, String publicKey) 公钥加密static StringencryptByPublicKey(String data, String publicKey, String fillMode) 公钥加密static StringencryptByPublicKeyByWx(String data, String publicKey) 公钥加密getKeys()生成公钥和私钥static RSAPrivateKeygetPrivateKey(String modulus, String exponent) 使用模和指数生成RSA私钥 注意:【此代码用了默认补位方式,为RSA/None/PKCS1Padding,不同JDK默认的补位方式可能不同,如Android默认是RSA /None/NoPadding】static StringgetPrivateKeyStr(PrivateKey privateKey) static RSAPublicKeygetPublicKey(String modulus, String exponent) 使用模和指数生成RSA公钥 注意:【此代码用了默认补位方式,为RSA/None/PKCS1Padding,不同JDK默认的补位方式可能不同,如Android默认是RSA /None/NoPadding】static StringgetPublicKeyStr(PublicKey publicKey) static PrivateKeyloadPrivateKey(String privateKeyStr) 从字符串中加载私钥
加载时使用的是PKCS8EncodedKeySpec(PKCS#8编码的Key指令)。static PublicKeyloadPublicKey(String publicKeyStr) 从字符串中加载公钥static void
-
构造器详细资料
-
RsaKit
public RsaKit()
-
-
方法详细资料
-
getKeys
生成公钥和私钥- 抛出:
Exception- 异常信息
-
getPublicKey
使用模和指数生成RSA公钥 注意:【此代码用了默认补位方式,为RSA/None/PKCS1Padding,不同JDK默认的补位方式可能不同,如Android默认是RSA /None/NoPadding】- 参数:
modulus- 模exponent- 公钥指数- 返回:
RSAPublicKey
-
getPrivateKey
使用模和指数生成RSA私钥 注意:【此代码用了默认补位方式,为RSA/None/PKCS1Padding,不同JDK默认的补位方式可能不同,如Android默认是RSA /None/NoPadding】- 参数:
modulus- 模exponent- 指数- 返回:
RSAPrivateKey
-
encryptByPublicKey
公钥加密- 参数:
data- 需要加密的数据publicKey- 公钥- 返回:
- 加密后的数据
- 抛出:
Exception- 异常信息
-
encryptByPublicKeyByWx
公钥加密- 参数:
data- 需要加密的数据publicKey- 公钥- 返回:
- 加密后的数据
- 抛出:
Exception- 异常信息
-
encryptByPublicKey
public static String encryptByPublicKey(String data, String publicKey, String fillMode) throws Exception 公钥加密- 参数:
data- 需要加密的数据publicKey- 公钥fillMode- 填充模式- 返回:
- 加密后的数据
- 抛出:
Exception- 异常信息
-
encryptByPrivateKey
私钥签名- 参数:
data- 需要加密的数据privateKey- 私钥- 返回:
- 加密后的数据
- 抛出:
Exception- 异常信息
-
encryptByPrivateKey
私钥签名- 参数:
data- 需要加密的数据privateKey- 私钥- 返回:
- 加密后的数据
- 抛出:
Exception- 异常信息
-
checkByPublicKey
公钥验证签名- 参数:
data- 需要加密的数据sign- 签名publicKey- 公钥- 返回:
- 验证结果
- 抛出:
Exception- 异常信息
-
checkByPublicKey
public static boolean checkByPublicKey(String data, String sign, PublicKey publicKey) throws Exception 公钥验证签名- 参数:
data- 需要加密的数据sign- 签名publicKey- 公钥- 返回:
- 验证结果
- 抛出:
Exception- 异常信息
-
decryptByPrivateKey
私钥解密- 参数:
data- 需要解密的数据privateKey- 私钥- 返回:
- 解密后的数据
- 抛出:
Exception- 异常信息
-
decryptByPrivateKeyByWx
私钥解密- 参数:
data- 需要解密的数据privateKey- 私钥- 返回:
- 解密后的数据
- 抛出:
Exception- 异常信息
-
decryptByPrivateKey
public static String decryptByPrivateKey(String data, String privateKey, String fillMode) throws Exception 私钥解密- 参数:
data- 需要解密的数据privateKey- 私钥fillMode- 填充模式- 返回:
- 解密后的数据
- 抛出:
Exception- 异常信息
-
loadPublicKey
从字符串中加载公钥- 参数:
publicKeyStr- 公钥数据字符串- 抛出:
Exception- 异常信息
-
loadPrivateKey
从字符串中加载私钥
加载时使用的是PKCS8EncodedKeySpec(PKCS#8编码的Key指令)。- 参数:
privateKeyStr- 私钥- 返回:
PrivateKey- 抛出:
Exception- 异常信息
-
getPrivateKeyStr
-
getPublicKeyStr
-
main
- 抛出:
Exception
-