public class RSAUtils
extends java.lang.Object
| 构造器和说明 |
|---|
RSAUtils() |
| 限定符和类型 | 方法和说明 |
|---|---|
static RSAPair |
create(RSASignMethodEnum signMethod,
int keySize)
为null时无法进行签名
|
static RSAPair |
create(RSASignMethodEnum signMethod,
java.security.PublicKey publicKey,
java.security.PrivateKey privateKey) |
static RSAPair |
create(RSASignMethodEnum signMethod,
java.lang.String publicKeyHex,
java.lang.String privateKeyHex)
为null时无法进行签名
|
static java.security.PrivateKey |
createPrivateKey(byte[] privateKeyBytes)
创建私钥
|
static java.security.PublicKey |
createPublicKey(byte[] publicKeyBytes)
创建公钥
|
static byte[] |
dencrypt(java.security.Key key,
byte[] data)
1.
|
static byte[] |
encrypt(java.security.Key key,
byte[] data)
加密
|
static byte[] |
privateDencrypt(byte[] privatKeyBytes,
byte[] data)
私钥解密
|
static byte[] |
privateEncrypt(byte[] privatKeyBytes,
byte[] data)
私钥加密
|
static byte[] |
publicDencrypt(byte[] publicKeyBytes,
byte[] data)
公钥解密
|
static byte[] |
publicEncrypt(byte[] publicKeyBytes,
byte[] data)
公钥加密
|
static byte[] |
sign(RSASignMethodEnum signMethod,
byte[] privateKeyBytes,
byte[] data)
私钥签名
|
static byte[] |
sign(RSASignMethodEnum signMethod,
java.security.PrivateKey privateKey,
byte[] data)
私钥签名
|
static boolean |
verifySign(RSASignMethodEnum signMethod,
byte[] publicKeyBytes,
byte[] data,
byte[] sign)
公钥验证签名
|
static boolean |
verifySign(RSASignMethodEnum signMethod,
java.security.PublicKey publicKey,
byte[] data,
byte[] sign)
公钥验证签名
|
public static RSAPair create(@Nullable RSASignMethodEnum signMethod, int keySize) throws java.security.NoSuchAlgorithmException
signMethod - java.security.NoSuchAlgorithmExceptionpublic static RSAPair create(@Nullable RSASignMethodEnum signMethod, @Nonnull java.lang.String publicKeyHex, @Nonnull java.lang.String privateKeyHex) throws java.security.spec.InvalidKeySpecException, java.security.NoSuchAlgorithmException
signMethod - publicKeyHex - privateKeyHex - java.security.spec.InvalidKeySpecExceptionjava.security.NoSuchAlgorithmExceptionpublic static RSAPair create(@Nullable RSASignMethodEnum signMethod, @Nonnull java.security.PublicKey publicKey, @Nonnull java.security.PrivateKey privateKey)
signMethod - 为null时,无法进行签名publicKey - privateKey - java.security.spec.InvalidKeySpecExceptionjava.security.NoSuchAlgorithmExceptionpublic static java.security.PrivateKey createPrivateKey(@Nonnull byte[] privateKeyBytes) throws java.security.NoSuchAlgorithmException, java.security.spec.InvalidKeySpecException
privateKeyBytes - java.security.NoSuchAlgorithmExceptionjava.security.spec.InvalidKeySpecExceptionpublic static java.security.PublicKey createPublicKey(@Nonnull byte[] publicKeyBytes) throws java.security.NoSuchAlgorithmException, java.security.spec.InvalidKeySpecException
publicKeyBytes - java.security.NoSuchAlgorithmExceptionjava.security.spec.InvalidKeySpecExceptionpublic static byte[] publicEncrypt(@Nonnull byte[] publicKeyBytes, @Nonnull byte[] data) throws java.security.NoSuchAlgorithmException, javax.crypto.NoSuchPaddingException, java.security.InvalidKeyException, javax.crypto.BadPaddingException, javax.crypto.IllegalBlockSizeException, java.security.spec.InvalidKeySpecException
publicKeyBytes - 公钥data - 明文java.security.NoSuchAlgorithmExceptionjavax.crypto.NoSuchPaddingExceptionjava.security.InvalidKeyExceptionjavax.crypto.BadPaddingExceptionjavax.crypto.IllegalBlockSizeExceptionjava.security.spec.InvalidKeySpecExceptionpublic static byte[] privateEncrypt(@Nonnull byte[] privatKeyBytes, @Nonnull byte[] data) throws java.security.NoSuchAlgorithmException, javax.crypto.NoSuchPaddingException, java.security.InvalidKeyException, javax.crypto.BadPaddingException, javax.crypto.IllegalBlockSizeException, java.security.spec.InvalidKeySpecException
privatKeyBytes - 私钥data - 明文java.security.NoSuchAlgorithmExceptionjavax.crypto.NoSuchPaddingExceptionjava.security.InvalidKeyExceptionjavax.crypto.BadPaddingExceptionjavax.crypto.IllegalBlockSizeExceptionjava.security.spec.InvalidKeySpecExceptionpublic static byte[] publicDencrypt(@Nonnull byte[] publicKeyBytes, @Nonnull byte[] data) throws java.security.NoSuchAlgorithmException, javax.crypto.NoSuchPaddingException, java.security.InvalidKeyException, javax.crypto.BadPaddingException, javax.crypto.IllegalBlockSizeException, java.security.spec.InvalidKeySpecException
publicKeyBytes - 公钥data - 密文java.security.NoSuchAlgorithmExceptionjavax.crypto.NoSuchPaddingExceptionjava.security.InvalidKeyExceptionjavax.crypto.BadPaddingExceptionjavax.crypto.IllegalBlockSizeExceptionjava.security.spec.InvalidKeySpecExceptionpublic static byte[] privateDencrypt(@Nonnull byte[] privatKeyBytes, @Nonnull byte[] data) throws java.security.NoSuchAlgorithmException, javax.crypto.NoSuchPaddingException, java.security.InvalidKeyException, javax.crypto.BadPaddingException, javax.crypto.IllegalBlockSizeException, java.security.spec.InvalidKeySpecException
privatKeyBytes - 私钥data - 密文java.security.NoSuchAlgorithmExceptionjavax.crypto.NoSuchPaddingExceptionjava.security.InvalidKeyExceptionjavax.crypto.BadPaddingExceptionjavax.crypto.IllegalBlockSizeExceptionjava.security.spec.InvalidKeySpecExceptionpublic static byte[] encrypt(@Nonnull java.security.Key key, @Nonnull byte[] data) throws java.security.NoSuchAlgorithmException, javax.crypto.NoSuchPaddingException, java.security.InvalidKeyException, javax.crypto.BadPaddingException, javax.crypto.IllegalBlockSizeException
key - 密钥data - 密文java.security.NoSuchAlgorithmExceptionjavax.crypto.NoSuchPaddingExceptionjava.security.InvalidKeyExceptionjavax.crypto.BadPaddingExceptionjavax.crypto.IllegalBlockSizeExceptionjava.security.spec.InvalidKeySpecExceptionpublic static byte[] dencrypt(@Nonnull java.security.Key key, @Nonnull byte[] data) throws java.security.NoSuchAlgorithmException, javax.crypto.NoSuchPaddingException, java.security.InvalidKeyException, javax.crypto.BadPaddingException, javax.crypto.IllegalBlockSizeException
key - 密钥data - 密文java.security.NoSuchAlgorithmExceptionjavax.crypto.NoSuchPaddingExceptionjava.security.InvalidKeyExceptionjavax.crypto.BadPaddingExceptionjavax.crypto.IllegalBlockSizeExceptionjava.security.spec.InvalidKeySpecExceptionpublic static byte[] sign(@Nonnull RSASignMethodEnum signMethod, @Nonnull byte[] privateKeyBytes, @Nonnull byte[] data) throws java.security.NoSuchAlgorithmException, java.security.InvalidKeyException, java.security.SignatureException, java.security.spec.InvalidKeySpecException
signMethod - 签名方法privateKeyBytes - 私钥data - 明文java.security.NoSuchAlgorithmExceptionjava.security.InvalidKeyExceptionjava.security.SignatureExceptionjava.security.spec.InvalidKeySpecExceptionpublic static byte[] sign(@Nonnull RSASignMethodEnum signMethod, @Nonnull java.security.PrivateKey privateKey, @Nonnull byte[] data) throws java.security.NoSuchAlgorithmException, java.security.InvalidKeyException, java.security.SignatureException
signMethod - 签名方法privateKeyBytes - 私钥data - 明文java.security.NoSuchAlgorithmExceptionjava.security.InvalidKeyExceptionjava.security.SignatureExceptionjava.security.spec.InvalidKeySpecExceptionpublic static boolean verifySign(@Nonnull RSASignMethodEnum signMethod, @Nonnull byte[] publicKeyBytes, @Nonnull byte[] data, @Nonnull byte[] sign) throws java.security.NoSuchAlgorithmException, java.security.InvalidKeyException, java.security.SignatureException, java.security.spec.InvalidKeySpecException
signMethod - 签名方法publicKeyBytes - 公钥data - 明文sign - 签名java.security.NoSuchAlgorithmExceptionjava.security.InvalidKeyExceptionjava.security.SignatureExceptionjava.security.spec.InvalidKeySpecExceptionpublic static boolean verifySign(@Nonnull RSASignMethodEnum signMethod, @Nonnull java.security.PublicKey publicKey, @Nonnull byte[] data, @Nonnull byte[] sign) throws java.security.NoSuchAlgorithmException, java.security.InvalidKeyException, java.security.SignatureException
signMethod - 签名方法publicKeyBytes - 公钥data - 明文sign - 签名java.security.NoSuchAlgorithmExceptionjava.security.InvalidKeyExceptionjava.security.SignatureExceptionjava.security.spec.InvalidKeySpecException