Package org.miaixz.bus.crypto.center
Class RSA
- All Implemented Interfaces:
Serializable,Decryptor,Encryptor
RSA公钥/私钥/签名加密解密
由于非对称加密速度极其缓慢,一般文件不使用它来加密而是使用对称加密, 非对称加密算法可以用来对对称加密的密钥加密,这样保证密钥的安全也就保证了数据的安全
- Since:
- Java 17+
- Author:
- Kimi Liu
- See Also:
-
Field Summary
Fields inherited from class org.miaixz.bus.crypto.builtin.asymmetric.Crypto
cipher, decryptBlockSize, encryptBlockSizeFields inherited from class org.miaixz.bus.crypto.builtin.asymmetric.Asymmetric
algorithm, lock, privateKey, publicKey -
Constructor Summary
ConstructorsConstructorDescriptionRSA()构造,生成新的私钥公钥对RSA(byte[] privateKey, byte[] publicKey) 构造 私钥和公钥同时为空时生成一对新的私钥和公钥 私钥和公钥可以单独传入一个,如此则只能使用此钥匙来做加密或者解密构造,生成新的私钥公钥对构造 私钥和公钥同时为空时生成一对新的私钥和公钥 私钥和公钥可以单独传入一个,如此则只能使用此钥匙来做加密或者解密构造 私钥和公钥同时为空时生成一对新的私钥和公钥 私钥和公钥可以单独传入一个,如此则只能使用此钥匙来做加密或者解密RSA(String rsaAlgorithm, PrivateKey privateKey, PublicKey publicKey) 构造 私钥和公钥同时为空时生成一对新的私钥和公钥 私钥和公钥可以单独传入一个,如此则只能使用此钥匙来做加密或者解密RSA(BigInteger modulus, BigInteger privateExponent, BigInteger publicExponent) 构造 私钥和公钥同时为空时生成一对新的私钥和公钥 私钥和公钥可以单独传入一个,如此则只能使用此钥匙来做加密或者解密RSA(PrivateKey privateKey, PublicKey publicKey) 构造 私钥和公钥同时为空时生成一对新的私钥和公钥 私钥和公钥可以单独传入一个,如此则只能使用此钥匙来做加密或者解密 -
Method Summary
Modifier and TypeMethodDescriptionbyte[]解密byte[]加密static PrivateKeygeneratePrivateKey(BigInteger modulus, BigInteger privateExponent) 生成RSA私钥static PublicKeygeneratePublicKey(BigInteger modulus, BigInteger publicExponent) 生成RSA公钥protected void初始化Cipher,默认尝试加载BC库Methods inherited from class org.miaixz.bus.crypto.builtin.asymmetric.Crypto
getAlgorithmParameterSpec, getCipher, getDecryptBlockSize, getEncryptBlockSize, init, setAlgorithmParameterSpec, setDecryptBlockSize, setEncryptBlockSize, setRandomMethods inherited from class org.miaixz.bus.crypto.builtin.asymmetric.Asymmetric
getKeyByType, getPrivateKey, getPrivateKeyBase64, getPublicKey, getPublicKeyBase64, initKeys, setKey, setPrivateKey, setPublicKeyMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.miaixz.bus.crypto.builtin.asymmetric.Decryptor
decrypt, decrypt, decryptString, decryptStringMethods inherited from interface org.miaixz.bus.crypto.builtin.asymmetric.Encryptor
encrypt, encrypt, encrypt, encryptBase64, encryptBase64, encryptBase64, encryptBase64, encryptHex, encryptHex, encryptHex, encryptHex
-
Constructor Details
-
RSA
public RSA()构造,生成新的私钥公钥对 -
RSA
构造,生成新的私钥公钥对- Parameters:
rsaAlgorithm- 自定义RSA算法,例如RSA/ECB/PKCS1Padding
-
RSA
构造 私钥和公钥同时为空时生成一对新的私钥和公钥 私钥和公钥可以单独传入一个,如此则只能使用此钥匙来做加密或者解密- Parameters:
privateKey- 私钥Hex或Base64表示publicKey- 公钥Hex或Base64表示
-
RSA
构造 私钥和公钥同时为空时生成一对新的私钥和公钥 私钥和公钥可以单独传入一个,如此则只能使用此钥匙来做加密或者解密- Parameters:
rsaAlgorithm- 自定义RSA算法,例如RSA/ECB/PKCS1PaddingprivateKey- 私钥Hex或Base64表示publicKey- 公钥Hex或Base64表示
-
RSA
public RSA(byte[] privateKey, byte[] publicKey) 构造 私钥和公钥同时为空时生成一对新的私钥和公钥 私钥和公钥可以单独传入一个,如此则只能使用此钥匙来做加密或者解密- Parameters:
privateKey- 私钥publicKey- 公钥
-
RSA
构造 私钥和公钥同时为空时生成一对新的私钥和公钥 私钥和公钥可以单独传入一个,如此则只能使用此钥匙来做加密或者解密- Parameters:
modulus- N特征值privateExponent- d特征值publicExponent- e特征值
-
RSA
构造 私钥和公钥同时为空时生成一对新的私钥和公钥 私钥和公钥可以单独传入一个,如此则只能使用此钥匙来做加密或者解密- Parameters:
privateKey- 私钥publicKey- 公钥
-
RSA
构造 私钥和公钥同时为空时生成一对新的私钥和公钥 私钥和公钥可以单独传入一个,如此则只能使用此钥匙来做加密或者解密- Parameters:
rsaAlgorithm- 自定义RSA算法,例如RSA/ECB/PKCS1PaddingprivateKey- 私钥publicKey- 公钥
-
-
Method Details
-
generatePrivateKey
生成RSA私钥- Parameters:
modulus- N特征值privateExponent- d特征值- Returns:
PrivateKey
-
generatePublicKey
生成RSA公钥- Parameters:
modulus- N特征值publicExponent- e特征值- Returns:
PublicKey
-
encrypt
Description copied from interface:Encryptor加密 -
decrypt
Description copied from interface:Decryptor解密 -
initCipher
protected void initCipher()Description copied from class:Crypto初始化Cipher,默认尝试加载BC库- Overrides:
initCipherin classCrypto
-