public class RsaKit extends Object
IJPay 让支付触手可及,封装了微信支付、支付宝支付、银联支付常用的支付方式以及各种常用的接口。
不依赖任何第三方 mvc 框架,仅仅作为工具使用简单快速完成支付模块的开发,可轻松嵌入到任何系统里。
IJPay 交流群: 723992875
Node.js 版: https://gitee.com/javen205/TNWX
RSA 非对称加密工具类
Constructor and Description |
---|
RsaKit() |
Modifier and Type | Method and Description |
---|---|
static boolean |
checkByPublicKey(String data,
String sign,
PublicKey publicKey)
公钥验证签名
|
static boolean |
checkByPublicKey(String data,
String sign,
String publicKey)
公钥验证签名
|
static String |
decryptByPrivateKey(String data,
String privateKey)
私钥解密
|
static String |
decryptByPrivateKey(String data,
String privateKey,
String fillMode)
私钥解密
|
static String |
decryptByPrivateKeyByWx(String data,
String privateKey)
私钥解密
|
static String |
encryptByPrivateKey(String data,
PrivateKey privateKey)
私钥签名
|
static String |
encryptByPrivateKey(String data,
String privateKey)
私钥签名
|
static String |
encryptByPublicKey(String data,
String publicKey)
公钥加密
|
static String |
encryptByPublicKey(String data,
String publicKey,
String fillMode)
公钥加密
|
static String |
encryptByPublicKeyByWx(String data,
String publicKey)
公钥加密
|
static Map<String,String> |
getKeys()
生成公钥和私钥
|
static RSAPrivateKey |
getPrivateKey(String modulus,
String exponent)
使用模和指数生成RSA私钥
注意:【此代码用了默认补位方式,为RSA/None/PKCS1Padding,不同JDK默认的补位方式可能不同,如Android默认是RSA
/None/NoPadding】
|
static String |
getPrivateKeyStr(PrivateKey privateKey) |
static RSAPublicKey |
getPublicKey(String modulus,
String exponent)
使用模和指数生成RSA公钥
注意:【此代码用了默认补位方式,为RSA/None/PKCS1Padding,不同JDK默认的补位方式可能不同,如Android默认是RSA
/None/NoPadding】
|
static String |
getPublicKeyStr(PublicKey publicKey) |
static PrivateKey |
loadPrivateKey(String privateKeyStr)
从字符串中加载私钥
加载时使用的是PKCS8EncodedKeySpec(PKCS#8编码的Key指令)。 |
static PublicKey |
loadPublicKey(String publicKeyStr)
从字符串中加载公钥
|
static void |
main(String[] args) |
public static Map<String,String> getKeys() throws Exception
Exception
- 异常信息public static RSAPublicKey getPublicKey(String modulus, String exponent)
modulus
- 模exponent
- 公钥指数RSAPublicKey
public static RSAPrivateKey getPrivateKey(String modulus, String exponent)
modulus
- 模exponent
- 指数RSAPrivateKey
public static String encryptByPublicKey(String data, String publicKey) throws Exception
data
- 需要加密的数据publicKey
- 公钥Exception
- 异常信息public static String encryptByPublicKeyByWx(String data, String publicKey) throws Exception
data
- 需要加密的数据publicKey
- 公钥Exception
- 异常信息public static String encryptByPublicKey(String data, String publicKey, String fillMode) throws Exception
data
- 需要加密的数据publicKey
- 公钥fillMode
- 填充模式Exception
- 异常信息public static String encryptByPrivateKey(String data, String privateKey) throws Exception
data
- 需要加密的数据privateKey
- 私钥Exception
- 异常信息public static String encryptByPrivateKey(String data, PrivateKey privateKey) throws Exception
data
- 需要加密的数据privateKey
- 私钥Exception
- 异常信息public static boolean checkByPublicKey(String data, String sign, String publicKey) throws Exception
data
- 需要加密的数据sign
- 签名publicKey
- 公钥Exception
- 异常信息public static boolean checkByPublicKey(String data, String sign, PublicKey publicKey) throws Exception
data
- 需要加密的数据sign
- 签名publicKey
- 公钥Exception
- 异常信息public static String decryptByPrivateKey(String data, String privateKey) throws Exception
data
- 需要解密的数据privateKey
- 私钥Exception
- 异常信息public static String decryptByPrivateKeyByWx(String data, String privateKey) throws Exception
data
- 需要解密的数据privateKey
- 私钥Exception
- 异常信息public static String decryptByPrivateKey(String data, String privateKey, String fillMode) throws Exception
data
- 需要解密的数据privateKey
- 私钥fillMode
- 填充模式Exception
- 异常信息public static PublicKey loadPublicKey(String publicKeyStr) throws Exception
publicKeyStr
- 公钥数据字符串Exception
- 异常信息public static PrivateKey loadPrivateKey(String privateKeyStr) throws Exception
privateKeyStr
- 私钥PrivateKey
Exception
- 异常信息public static String getPrivateKeyStr(PrivateKey privateKey)
Copyright © 2022. All rights reserved.