- AbstractAsymmetricCrypto<T extends AbstractAsymmetricCrypto<T>> - cn.hutool.crypto.asymmetric中的类
-
抽象的非对称加密对象,包装了加密和解密为Hex和Base64的封装
- AbstractAsymmetricCrypto(String, PrivateKey, PublicKey) - 类 的构造器cn.hutool.crypto.asymmetric.AbstractAsymmetricCrypto
-
构造
私钥和公钥同时为空时生成一对新的私钥和公钥
私钥和公钥可以单独传入一个,如此则只能使用此钥匙来做加密或者解密
- addProvider(Provider) - 类 中的静态方法cn.hutool.crypto.SecureUtil
-
增加加密解密的算法提供者,默认优先使用,例如:
addProvider(new org.bouncycastle.jce.provider.BouncyCastleProvider());
- aes() - 类 中的静态方法cn.hutool.crypto.SecureUtil
-
AES加密,生成随机KEY。
- aes(byte[]) - 类 中的静态方法cn.hutool.crypto.SecureUtil
-
AES加密
例:
AES加密:aes(key).encrypt(data)
AES解密:aes(key).decrypt(data)
- AES - cn.hutool.crypto.symmetric中的类
-
AES加密算法实现
高级加密标准(英语:Advanced Encryption Standard,缩写:AES),在密码学中又称Rijndael加密法
对于Java中AES的默认模式是:AES/ECB/PKCS5Padding,如果使用CryptoJS,请调整为:padding: CryptoJS.pad.Pkcs7
相关概念说明:
mode: 加密算法模式,是用来描述加密算法(此处特指分组密码,不包括流密码,)在加密时对明文分组的模式,它代表了不同的分组方式
padding: 补码方式是在分组密码中,当明文长度不是分组长度的整数倍时,需要在最后一个分组中填充一些数据使其凑满一个分组的长度。
- AES() - 类 的构造器cn.hutool.crypto.symmetric.AES
-
构造,默认AES/ECB/PKCS5Padding,使用随机密钥
- AES(byte[]) - 类 的构造器cn.hutool.crypto.symmetric.AES
-
构造,使用默认的AES/ECB/PKCS5Padding
- AES(Mode, Padding) - 类 的构造器cn.hutool.crypto.symmetric.AES
-
构造,使用随机密钥
- AES(Mode, Padding, byte[]) - 类 的构造器cn.hutool.crypto.symmetric.AES
-
构造
- AES(Mode, Padding, byte[], byte[]) - 类 的构造器cn.hutool.crypto.symmetric.AES
-
构造
- AES(Mode, Padding, SecretKey) - 类 的构造器cn.hutool.crypto.symmetric.AES
-
构造
- AES(Mode, Padding, SecretKey, byte[]) - 类 的构造器cn.hutool.crypto.symmetric.AES
-
构造
- AES(Mode, Padding, SecretKey, IvParameterSpec) - 类 的构造器cn.hutool.crypto.symmetric.AES
-
构造
- AES(String, String) - 类 的构造器cn.hutool.crypto.symmetric.AES
-
构造
- AES(String, String, byte[]) - 类 的构造器cn.hutool.crypto.symmetric.AES
-
构造
- AES(String, String, byte[], byte[]) - 类 的构造器cn.hutool.crypto.symmetric.AES
-
构造
- AES(String, String, SecretKey) - 类 的构造器cn.hutool.crypto.symmetric.AES
-
构造
- AES(String, String, SecretKey, IvParameterSpec) - 类 的构造器cn.hutool.crypto.symmetric.AES
-
构造
- algorithm - 类 中的变量cn.hutool.crypto.asymmetric.BaseAsymmetric
-
算法
- ALGORITHM_NAME - 类 中的静态变量cn.hutool.crypto.digest.SM3
-
- ALGORITHM_NAME - 类 中的静态变量cn.hutool.crypto.symmetric.SM4
-
- AsymmetricAlgorithm - cn.hutool.crypto.asymmetric中的枚举
-
非对称算法类型
see: https://docs.oracle.com/javase/7/docs/technotes/guides/security/StandardNames.html#KeyPairGenerator
- AsymmetricCrypto - cn.hutool.crypto.asymmetric中的类
-
非对称加密算法
1、签名:使用私钥加密,公钥解密。
- AsymmetricCrypto(AsymmetricAlgorithm) - 类 的构造器cn.hutool.crypto.asymmetric.AsymmetricCrypto
-
构造,创建新的私钥公钥对
- AsymmetricCrypto(String) - 类 的构造器cn.hutool.crypto.asymmetric.AsymmetricCrypto
-
构造,创建新的私钥公钥对
- AsymmetricCrypto(AsymmetricAlgorithm, String, String) - 类 的构造器cn.hutool.crypto.asymmetric.AsymmetricCrypto
-
构造 私钥和公钥同时为空时生成一对新的私钥和公钥
私钥和公钥可以单独传入一个,如此则只能使用此钥匙来做加密或者解密
- AsymmetricCrypto(AsymmetricAlgorithm, byte[], byte[]) - 类 的构造器cn.hutool.crypto.asymmetric.AsymmetricCrypto
-
构造 私钥和公钥同时为空时生成一对新的私钥和公钥
私钥和公钥可以单独传入一个,如此则只能使用此钥匙来做加密或者解密
- AsymmetricCrypto(AsymmetricAlgorithm, PrivateKey, PublicKey) - 类 的构造器cn.hutool.crypto.asymmetric.AsymmetricCrypto
-
构造 私钥和公钥同时为空时生成一对新的私钥和公钥
私钥和公钥可以单独传入一个,如此则只能使用此钥匙来做加密或者解密
- AsymmetricCrypto(String, String, String) - 类 的构造器cn.hutool.crypto.asymmetric.AsymmetricCrypto
-
构造 私钥和公钥同时为空时生成一对新的私钥和公钥
私钥和公钥可以单独传入一个,如此则只能使用此钥匙来做加密或者解密
- AsymmetricCrypto(String, byte[], byte[]) - 类 的构造器cn.hutool.crypto.asymmetric.AsymmetricCrypto
-
构造
私钥和公钥同时为空时生成一对新的私钥和公钥
私钥和公钥可以单独传入一个,如此则只能使用此钥匙来做加密或者解密
- AsymmetricCrypto(String, PrivateKey, PublicKey) - 类 的构造器cn.hutool.crypto.asymmetric.AsymmetricCrypto
-
构造
私钥和公钥同时为空时生成一对新的私钥和公钥
私钥和公钥可以单独传入一个,如此则只能使用此钥匙来做加密或者解密
- decode(String) - 类 中的静态方法cn.hutool.crypto.SecureUtil
-
解码字符串密钥,可支持的编码如下:
1.
- decodeECPoint(String, String) - 类 中的静态方法cn.hutool.crypto.BCUtil
-
解码恢复EC压缩公钥,支持Base64和Hex编码,(基于BouncyCastle)
见:https://www.cnblogs.com/xinzhao/p/8963724.html
- decodeECPoint(byte[], String) - 类 中的静态方法cn.hutool.crypto.BCUtil
-
解码恢复EC压缩公钥,支持Base64和Hex编码,(基于BouncyCastle)
见:https://www.cnblogs.com/xinzhao/p/8963724.html
- decodeECPoint(String, String) - 类 中的静态方法cn.hutool.crypto.KeyUtil
-
解码恢复EC压缩公钥,支持Base64和Hex编码,(基于BouncyCastle)
见:https://www.cnblogs.com/xinzhao/p/8963724.html
- decodeECPoint(byte[], String) - 类 中的静态方法cn.hutool.crypto.KeyUtil
-
解码恢复EC压缩公钥,支持Base64和Hex编码,(基于BouncyCastle)
见:https://www.cnblogs.com/xinzhao/p/8963724.html
- decrypt(byte[], KeyType) - 类 中的方法cn.hutool.crypto.asymmetric.AbstractAsymmetricCrypto
-
解密
- decrypt(InputStream, KeyType) - 类 中的方法cn.hutool.crypto.asymmetric.AbstractAsymmetricCrypto
-
解密
- decrypt(String, KeyType) - 类 中的方法cn.hutool.crypto.asymmetric.AbstractAsymmetricCrypto
-
从Hex或Base64字符串解密,编码为UTF-8格式
- decrypt(byte[], KeyType) - 类 中的方法cn.hutool.crypto.asymmetric.AsymmetricCrypto
-
解密
- decrypt(byte[], KeyType) - 类 中的方法cn.hutool.crypto.asymmetric.RSA
-
- decrypt(byte[], KeyType) - 类 中的方法cn.hutool.crypto.asymmetric.SM2
-
解密
- decrypt(byte[], Charset) - 类 中的方法cn.hutool.crypto.symmetric.RC4
-
解密
- decrypt(byte[]) - 类 中的方法cn.hutool.crypto.symmetric.RC4
-
解密,使用默认编码UTF-8
- decrypt(byte[]) - 类 中的方法cn.hutool.crypto.symmetric.SymmetricCrypto
-
解密
- decrypt(String) - 类 中的方法cn.hutool.crypto.symmetric.SymmetricCrypto
-
解密Hex(16进制)或Base64表示的字符串
- decrypt(InputStream) - 类 中的方法cn.hutool.crypto.symmetric.SymmetricCrypto
-
解密,不会关闭流
- decrypt(CharSequence, CharSequence) - 类 中的静态方法cn.hutool.crypto.symmetric.Vigenere
-
解密
- decryptBlockSize - 类 中的变量cn.hutool.crypto.asymmetric.AsymmetricCrypto
-
解密的块大小
- decryptFromBcd(String, KeyType) - 类 中的方法cn.hutool.crypto.asymmetric.AbstractAsymmetricCrypto
-
解密BCD
- decryptFromBcd(String, KeyType, Charset) - 类 中的方法cn.hutool.crypto.asymmetric.AbstractAsymmetricCrypto
-
分组解密
- decryptStr(String, KeyType, Charset) - 类 中的方法cn.hutool.crypto.asymmetric.AbstractAsymmetricCrypto
-
解密为字符串,密文需为Hex(16进制)或Base64字符串
- decryptStr(String, KeyType) - 类 中的方法cn.hutool.crypto.asymmetric.AbstractAsymmetricCrypto
-
解密为字符串,密文需为Hex(16进制)或Base64字符串
- decryptStr(byte[], Charset) - 类 中的方法cn.hutool.crypto.symmetric.SymmetricCrypto
-
解密为字符串
- decryptStr(byte[]) - 类 中的方法cn.hutool.crypto.symmetric.SymmetricCrypto
-
解密为字符串,默认UTF-8编码
- decryptStr(String, Charset) - 类 中的方法cn.hutool.crypto.symmetric.SymmetricCrypto
-
解密Hex(16进制)或Base64表示的字符串
- decryptStr(String) - 类 中的方法cn.hutool.crypto.symmetric.SymmetricCrypto
-
解密Hex表示的字符串,默认UTF-8编码
- decryptStr(InputStream, Charset) - 类 中的方法cn.hutool.crypto.symmetric.SymmetricCrypto
-
解密,不会关闭流
- decryptStr(InputStream) - 类 中的方法cn.hutool.crypto.symmetric.SymmetricCrypto
-
解密
- decryptStrFromBcd(String, KeyType, Charset) - 类 中的方法cn.hutool.crypto.asymmetric.AbstractAsymmetricCrypto
-
解密为字符串,密文需为BCD格式
- decryptStrFromBcd(String, KeyType) - 类 中的方法cn.hutool.crypto.asymmetric.AbstractAsymmetricCrypto
-
解密为字符串,密文需为BCD格式,编码为UTF-8格式
- DEFAULT_KEY_SIZE - 类 中的静态变量cn.hutool.crypto.KeyUtil
-
默认密钥字节数
RSA/DSA
Default Keysize 1024
Keysize must be a multiple of 64, ranging from 512 to 1024 (inclusive).
- DEFAULT_KEY_SIZE - 类 中的静态变量cn.hutool.crypto.SecureUtil
-
默认密钥字节数
RSA/DSA
Default Keysize 1024
Keysize must be a multiple of 64, ranging from 512 to 1024 (inclusive).
- DefaultHMacEngine - cn.hutool.crypto.digest.mac中的类
-
默认的HMAC算法实现引擎,使用
Mac 实现摘要
当引入BouncyCastle库时自动使用其作为Provider
- DefaultHMacEngine(String, byte[]) - 类 的构造器cn.hutool.crypto.digest.mac.DefaultHMacEngine
-
构造
- DefaultHMacEngine(String, SecretKey) - 类 的构造器cn.hutool.crypto.digest.mac.DefaultHMacEngine
-
构造
- des() - 类 中的静态方法cn.hutool.crypto.SecureUtil
-
DES加密,生成随机KEY。
- des(byte[]) - 类 中的静态方法cn.hutool.crypto.SecureUtil
-
DES加密
例:
DES加密:des(key).encrypt(data)
DES解密:des(key).decrypt(data)
- DES - cn.hutool.crypto.symmetric中的类
-
DES加密算法实现
DES全称为Data Encryption Standard,即数据加密标准,是一种使用密钥加密的块算法
Java中默认实现为:DES/CBC/PKCS5Padding
- DES() - 类 的构造器cn.hutool.crypto.symmetric.DES
-
构造,默认DES/CBC/PKCS5Padding,使用随机密钥
- DES(byte[]) - 类 的构造器cn.hutool.crypto.symmetric.DES
-
构造,使用默认的DES/CBC/PKCS5Padding
- DES(Mode, Padding) - 类 的构造器cn.hutool.crypto.symmetric.DES
-
构造,使用随机密钥
- DES(Mode, Padding, byte[]) - 类 的构造器cn.hutool.crypto.symmetric.DES
-
构造
- DES(Mode, Padding, byte[], byte[]) - 类 的构造器cn.hutool.crypto.symmetric.DES
-
构造
- DES(Mode, Padding, SecretKey) - 类 的构造器cn.hutool.crypto.symmetric.DES
-
构造
- DES(Mode, Padding, SecretKey, IvParameterSpec) - 类 的构造器cn.hutool.crypto.symmetric.DES
-
构造
- DES(String, String) - 类 的构造器cn.hutool.crypto.symmetric.DES
-
构造
- DES(String, String, byte[]) - 类 的构造器cn.hutool.crypto.symmetric.DES
-
构造
- DES(String, String, byte[], byte[]) - 类 的构造器cn.hutool.crypto.symmetric.DES
-
构造
- DES(String, String, SecretKey) - 类 的构造器cn.hutool.crypto.symmetric.DES
-
构造
- DES(String, String, SecretKey, IvParameterSpec) - 类 的构造器cn.hutool.crypto.symmetric.DES
-
构造
- desede() - 类 中的静态方法cn.hutool.crypto.SecureUtil
-
DESede加密(又名3DES、TripleDES),生成随机KEY。
- desede(byte[]) - 类 中的静态方法cn.hutool.crypto.SecureUtil
-
DESede加密(又名3DES、TripleDES)
Java中默认实现为:DESede/ECB/PKCS5Padding
例:
DESede加密:desede(key).encrypt(data)
DESede解密:desede(key).decrypt(data)
- DESede - cn.hutool.crypto.symmetric中的类
-
DESede是由DES对称加密算法改进后的一种对称加密算法,又名3DES、TripleDES。
- DESede() - 类 的构造器cn.hutool.crypto.symmetric.DESede
-
构造,默认DESede/ECB/PKCS5Padding,使用随机密钥
- DESede(byte[]) - 类 的构造器cn.hutool.crypto.symmetric.DESede
-
构造,使用默认的DESede/ECB/PKCS5Padding
- DESede(Mode, Padding) - 类 的构造器cn.hutool.crypto.symmetric.DESede
-
构造,使用随机密钥
- DESede(Mode, Padding, byte[]) - 类 的构造器cn.hutool.crypto.symmetric.DESede
-
构造
- DESede(Mode, Padding, byte[], byte[]) - 类 的构造器cn.hutool.crypto.symmetric.DESede
-
构造
- DESede(Mode, Padding, SecretKey) - 类 的构造器cn.hutool.crypto.symmetric.DESede
-
构造
- DESede(Mode, Padding, SecretKey, IvParameterSpec) - 类 的构造器cn.hutool.crypto.symmetric.DESede
-
构造
- DESede(String, String) - 类 的构造器cn.hutool.crypto.symmetric.DESede
-
构造
- DESede(String, String, byte[]) - 类 的构造器cn.hutool.crypto.symmetric.DESede
-
构造
- DESede(String, String, byte[], byte[]) - 类 的构造器cn.hutool.crypto.symmetric.DESede
-
构造
- DESede(String, String, SecretKey) - 类 的构造器cn.hutool.crypto.symmetric.DESede
-
构造
- DESede(String, String, SecretKey, IvParameterSpec) - 类 的构造器cn.hutool.crypto.symmetric.DESede
-
构造
- digest(String, String) - 类 中的方法cn.hutool.crypto.digest.Digester
-
生成文件摘要
- digest(String, Charset) - 类 中的方法cn.hutool.crypto.digest.Digester
-
生成文件摘要
- digest(String) - 类 中的方法cn.hutool.crypto.digest.Digester
-
生成文件摘要
- digest(File) - 类 中的方法cn.hutool.crypto.digest.Digester
-
- digest(byte[]) - 类 中的方法cn.hutool.crypto.digest.Digester
-
生成摘要,考虑加盐和重复摘要次数
- digest(InputStream) - 类 中的方法cn.hutool.crypto.digest.Digester
-
- digest(InputStream, int) - 类 中的方法cn.hutool.crypto.digest.Digester
-
生成摘要
- digest(String, String) - 类 中的方法cn.hutool.crypto.digest.HMac
-
生成文件摘要
- digest(String) - 类 中的方法cn.hutool.crypto.digest.HMac
-
生成文件摘要
- digest(File) - 类 中的方法cn.hutool.crypto.digest.HMac
-
- digest(byte[]) - 类 中的方法cn.hutool.crypto.digest.HMac
-
生成摘要
- digest(InputStream) - 类 中的方法cn.hutool.crypto.digest.HMac
-
- digest(InputStream, int) - 类 中的方法cn.hutool.crypto.digest.HMac
-
生成摘要
- digest(InputStream, int) - 类 中的方法cn.hutool.crypto.digest.mac.BCHMacEngine
-
- digest(InputStream, int) - 类 中的方法cn.hutool.crypto.digest.mac.DefaultHMacEngine
-
- digest(InputStream, int) - 接口 中的方法cn.hutool.crypto.digest.mac.MacEngine
-
生成摘要
- DigestAlgorithm - cn.hutool.crypto.digest中的枚举
-
摘要算法类型
see: https://docs.oracle.com/javase/7/docs/technotes/guides/security/StandardNames.html#MessageDigest
- digestCount - 类 中的变量cn.hutool.crypto.digest.Digester
-
散列次数
- Digester - cn.hutool.crypto.digest中的类
-
摘要算法
注意:此对象实例化后为非线程安全!
- Digester(DigestAlgorithm) - 类 的构造器cn.hutool.crypto.digest.Digester
-
构造
- Digester(String) - 类 的构造器cn.hutool.crypto.digest.Digester
-
构造
- Digester(DigestAlgorithm, Provider) - 类 的构造器cn.hutool.crypto.digest.Digester
-
构造
- Digester(String, Provider) - 类 的构造器cn.hutool.crypto.digest.Digester
-
构造
- digester(DigestAlgorithm) - 类 中的静态方法cn.hutool.crypto.digest.DigestUtil
-
新建摘要器
- digester(String) - 类 中的静态方法cn.hutool.crypto.digest.DigestUtil
-
新建摘要器
- digestHex(String, String) - 类 中的方法cn.hutool.crypto.digest.Digester
-
生成文件摘要,并转为16进制字符串
- digestHex(String, Charset) - 类 中的方法cn.hutool.crypto.digest.Digester
-
生成文件摘要,并转为16进制字符串
- digestHex(String) - 类 中的方法cn.hutool.crypto.digest.Digester
-
生成文件摘要
- digestHex(File) - 类 中的方法cn.hutool.crypto.digest.Digester
-
- digestHex(byte[]) - 类 中的方法cn.hutool.crypto.digest.Digester
-
生成摘要,并转为16进制字符串
- digestHex(InputStream) - 类 中的方法cn.hutool.crypto.digest.Digester
-
- digestHex(InputStream, int) - 类 中的方法cn.hutool.crypto.digest.Digester
-
- digestHex(String, String) - 类 中的方法cn.hutool.crypto.digest.HMac
-
生成文件摘要,并转为16进制字符串
- digestHex(String) - 类 中的方法cn.hutool.crypto.digest.HMac
-
生成文件摘要
- digestHex(File) - 类 中的方法cn.hutool.crypto.digest.HMac
-
- digestHex(byte[]) - 类 中的方法cn.hutool.crypto.digest.HMac
-
生成摘要,并转为16进制字符串
- digestHex(InputStream) - 类 中的方法cn.hutool.crypto.digest.HMac
-
- digestHex(InputStream, int) - 类 中的方法cn.hutool.crypto.digest.HMac
-
- digestHex16(String, Charset) - 类 中的方法cn.hutool.crypto.digest.MD5
-
生成16位MD5摘要
- digestHex16(String) - 类 中的方法cn.hutool.crypto.digest.MD5
-
生成16位MD5摘要
- digestHex16(InputStream) - 类 中的方法cn.hutool.crypto.digest.MD5
-
生成16位MD5摘要
- digestHex16(File) - 类 中的方法cn.hutool.crypto.digest.MD5
-
生成16位MD5摘要
- digestHex16(byte[]) - 类 中的方法cn.hutool.crypto.digest.MD5
-
生成16位MD5摘要
- DigestUtil - cn.hutool.crypto.digest中的类
-
摘要算法工具类
- DigestUtil() - 类 的构造器cn.hutool.crypto.digest.DigestUtil
-
- disableBouncyCastle() - 类 中的静态方法cn.hutool.crypto.SecureUtil
-
强制关闭Bouncy Castle库的使用,全局有效
- generateAlgorithm(AsymmetricAlgorithm, DigestAlgorithm) - 类 中的静态方法cn.hutool.crypto.SecureUtil
-
生成算法,格式为XXXwithXXX
- generateDESKey(String, byte[]) - 类 中的静态方法cn.hutool.crypto.KeyUtil
-
- generateDESKey(String, byte[]) - 类 中的静态方法cn.hutool.crypto.SecureUtil
-
- generateKey(String) - 类 中的静态方法cn.hutool.crypto.KeyUtil
-
- generateKey(String, int) - 类 中的静态方法cn.hutool.crypto.KeyUtil
-
- generateKey(String, byte[]) - 类 中的静态方法cn.hutool.crypto.KeyUtil
-
- generateKey(String, KeySpec) - 类 中的静态方法cn.hutool.crypto.KeyUtil
-
- generateKey(String) - 类 中的静态方法cn.hutool.crypto.SecureUtil
-
- generateKey(String, int) - 类 中的静态方法cn.hutool.crypto.SecureUtil
-
- generateKey(String, byte[]) - 类 中的静态方法cn.hutool.crypto.SecureUtil
-
- generateKey(String, KeySpec) - 类 中的静态方法cn.hutool.crypto.SecureUtil
-
- generateKeyPair(String) - 类 中的静态方法cn.hutool.crypto.KeyUtil
-
生成用于非对称加密的公钥和私钥,仅用于非对称加密
密钥对生成算法见:https://docs.oracle.com/javase/7/docs/technotes/guides/security/StandardNames.html#KeyPairGenerator
- generateKeyPair(String, int) - 类 中的静态方法cn.hutool.crypto.KeyUtil
-
生成用于非对称加密的公钥和私钥
密钥对生成算法见:https://docs.oracle.com/javase/7/docs/technotes/guides/security/StandardNames.html#KeyPairGenerator
- generateKeyPair(String, int, byte[]) - 类 中的静态方法cn.hutool.crypto.KeyUtil
-
生成用于非对称加密的公钥和私钥
密钥对生成算法见:https://docs.oracle.com/javase/7/docs/technotes/guides/security/StandardNames.html#KeyPairGenerator
- generateKeyPair(String, AlgorithmParameterSpec) - 类 中的静态方法cn.hutool.crypto.KeyUtil
-
生成用于非对称加密的公钥和私钥
密钥对生成算法见:https://docs.oracle.com/javase/7/docs/technotes/guides/security/StandardNames.html#KeyPairGenerator
- generateKeyPair(String, byte[], AlgorithmParameterSpec) - 类 中的静态方法cn.hutool.crypto.KeyUtil
-
生成用于非对称加密的公钥和私钥
密钥对生成算法见:https://docs.oracle.com/javase/7/docs/technotes/guides/security/StandardNames.html#KeyPairGenerator
- generateKeyPair(String, int, byte[], AlgorithmParameterSpec...) - 类 中的静态方法cn.hutool.crypto.KeyUtil
-
生成用于非对称加密的公钥和私钥
密钥对生成算法见:https://docs.oracle.com/javase/7/docs/technotes/guides/security/StandardNames.html#KeyPairGenerator
对于非对称加密算法,密钥长度有严格限制,具体如下:
RSA:
RS256、PS256:2048 bits
RS384、PS384:3072 bits
RS512、RS512:4096 bits
EC(Elliptic Curve):
EC256:256 bits
EC384:384 bits
EC512:512 bits
- generateKeyPair(String, int, SecureRandom, AlgorithmParameterSpec...) - 类 中的静态方法cn.hutool.crypto.KeyUtil
-
生成用于非对称加密的公钥和私钥
密钥对生成算法见:https://docs.oracle.com/javase/7/docs/technotes/guides/security/StandardNames.html#KeyPairGenerator
对于非对称加密算法,密钥长度有严格限制,具体如下:
RSA:
RS256、PS256:2048 bits
RS384、PS384:3072 bits
RS512、RS512:4096 bits
EC(Elliptic Curve):
EC256:256 bits
EC384:384 bits
EC512:512 bits
- generateKeyPair(String) - 类 中的静态方法cn.hutool.crypto.SecureUtil
-
生成用于非对称加密的公钥和私钥,仅用于非对称加密
密钥对生成算法见:https://docs.oracle.com/javase/7/docs/technotes/guides/security/StandardNames.html#KeyPairGenerator
- generateKeyPair(String, int) - 类 中的静态方法cn.hutool.crypto.SecureUtil
-
生成用于非对称加密的公钥和私钥
密钥对生成算法见:https://docs.oracle.com/javase/7/docs/technotes/guides/security/StandardNames.html#KeyPairGenerator
- generateKeyPair(String, int, byte[]) - 类 中的静态方法cn.hutool.crypto.SecureUtil
-
生成用于非对称加密的公钥和私钥
密钥对生成算法见:https://docs.oracle.com/javase/7/docs/technotes/guides/security/StandardNames.html#KeyPairGenerator
- generateKeyPair(String, AlgorithmParameterSpec) - 类 中的静态方法cn.hutool.crypto.SecureUtil
-
生成用于非对称加密的公钥和私钥
密钥对生成算法见:https://docs.oracle.com/javase/7/docs/technotes/guides/security/StandardNames.html#KeyPairGenerator
- generateKeyPair(String, byte[], AlgorithmParameterSpec) - 类 中的静态方法cn.hutool.crypto.SecureUtil
-
生成用于非对称加密的公钥和私钥
密钥对生成算法见:https://docs.oracle.com/javase/7/docs/technotes/guides/security/StandardNames.html#KeyPairGenerator
- generatePBEKey(String, char[]) - 类 中的静态方法cn.hutool.crypto.KeyUtil
-
- generatePBEKey(String, char[]) - 类 中的静态方法cn.hutool.crypto.SecureUtil
-
- generatePrivateKey(BigInteger, BigInteger) - 类 中的静态方法cn.hutool.crypto.asymmetric.RSA
-
生成RSA私钥
- generatePrivateKey(String, byte[]) - 类 中的静态方法cn.hutool.crypto.KeyUtil
-
生成私钥,仅用于非对称加密
采用PKCS#8规范,此规范定义了私钥信息语法和加密私钥语法
算法见:https://docs.oracle.com/javase/7/docs/technotes/guides/security/StandardNames.html#KeyFactory
- generatePrivateKey(String, KeySpec) - 类 中的静态方法cn.hutool.crypto.KeyUtil
-
生成私钥,仅用于非对称加密
算法见:https://docs.oracle.com/javase/7/docs/technotes/guides/security/StandardNames.html#KeyFactory
- generatePrivateKey(KeyStore, String, char[]) - 类 中的静态方法cn.hutool.crypto.KeyUtil
-
生成私钥,仅用于非对称加密
- generatePrivateKey(String, byte[]) - 类 中的静态方法cn.hutool.crypto.SecureUtil
-
生成私钥,仅用于非对称加密
算法见:https://docs.oracle.com/javase/7/docs/technotes/guides/security/StandardNames.html#KeyFactory
- generatePrivateKey(String, KeySpec) - 类 中的静态方法cn.hutool.crypto.SecureUtil
-
生成私钥,仅用于非对称加密
算法见:https://docs.oracle.com/javase/7/docs/technotes/guides/security/StandardNames.html#KeyFactory
- generatePrivateKey(KeyStore, String, char[]) - 类 中的静态方法cn.hutool.crypto.SecureUtil
-
生成私钥,仅用于非对称加密
- generatePublicKey(BigInteger, BigInteger) - 类 中的静态方法cn.hutool.crypto.asymmetric.RSA
-
生成RSA公钥
- generatePublicKey(String, byte[]) - 类 中的静态方法cn.hutool.crypto.KeyUtil
-
生成公钥,仅用于非对称加密
采用X509证书规范
算法见:https://docs.oracle.com/javase/7/docs/technotes/guides/security/StandardNames.html#KeyFactory
- generatePublicKey(String, KeySpec) - 类 中的静态方法cn.hutool.crypto.KeyUtil
-
生成公钥,仅用于非对称加密
算法见:https://docs.oracle.com/javase/7/docs/technotes/guides/security/StandardNames.html#KeyFactory
- generatePublicKey(String, byte[]) - 类 中的静态方法cn.hutool.crypto.SecureUtil
-
生成公钥,仅用于非对称加密
算法见:https://docs.oracle.com/javase/7/docs/technotes/guides/security/StandardNames.html#KeyFactory
- generatePublicKey(String, KeySpec) - 类 中的静态方法cn.hutool.crypto.SecureUtil
-
生成公钥,仅用于非对称加密
算法见:https://docs.oracle.com/javase/7/docs/technotes/guides/security/StandardNames.html#KeyFactory
- generateRSAPrivateKey(byte[]) - 类 中的静态方法cn.hutool.crypto.KeyUtil
-
生成RSA私钥,仅用于非对称加密
采用PKCS#8规范,此规范定义了私钥信息语法和加密私钥语法
算法见:https://docs.oracle.com/javase/7/docs/technotes/guides/security/StandardNames.html#KeyFactory
- generateRSAPublicKey(byte[]) - 类 中的静态方法cn.hutool.crypto.KeyUtil
-
生成RSA公钥,仅用于非对称加密
采用X509证书规范
算法见:https://docs.oracle.com/javase/7/docs/technotes/guides/security/StandardNames.html#KeyFactory
- generateSignature(AsymmetricAlgorithm, DigestAlgorithm) - 类 中的静态方法cn.hutool.crypto.SecureUtil
-
生成签名对象,仅用于非对称加密
- gensalt(int, SecureRandom) - 类 中的静态方法cn.hutool.crypto.digest.BCrypt
-
生成盐
- gensalt(int) - 类 中的静态方法cn.hutool.crypto.digest.BCrypt
-
生成盐
- gensalt() - 类 中的静态方法cn.hutool.crypto.digest.BCrypt
-
生成盐
- getAlgorithmAfterWith(String) - 类 中的静态方法cn.hutool.crypto.KeyUtil
-
获取用于密钥生成的算法
获取XXXwithXXX算法的后半部分算法,如果为ECDSA或SM2,返回算法为EC
- getAlgorithmAfterWith(String) - 类 中的静态方法cn.hutool.crypto.SecureUtil
-
获取用于密钥生成的算法
获取XXXwithXXX算法的后半部分算法,如果为ECDSA或SM2,返回算法为EC
- getCertificate(KeyStore, String) - 类 中的静态方法cn.hutool.crypto.KeyUtil
-
获得 Certification
- getCertificate(KeyStore, String) - 类 中的静态方法cn.hutool.crypto.SecureUtil
-
获得 Certification
- getCertificateFactory(String) - 类 中的静态方法cn.hutool.crypto.KeyUtil
-
- getCipher() - 类 中的方法cn.hutool.crypto.symmetric.SymmetricCrypto
-
获得加密或解密器
- getClipher() - 类 中的方法cn.hutool.crypto.asymmetric.AsymmetricCrypto
-
获得加密或解密器
- getDecryptBlockSize() - 类 中的方法cn.hutool.crypto.asymmetric.AsymmetricCrypto
-
获取解密块大小
- getDigest() - 类 中的方法cn.hutool.crypto.digest.Digester
-
- getDigestLength() - 类 中的方法cn.hutool.crypto.digest.Digester
-
获取散列长度,0表示不支持此方法
- getEncryptBlockSize() - 类 中的方法cn.hutool.crypto.asymmetric.AsymmetricCrypto
-
获取加密块大小
- getKeyByType(KeyType) - 类 中的方法cn.hutool.crypto.asymmetric.BaseAsymmetric
-
根据密钥类型获得相应密钥
- getKeyFactory(String) - 类 中的静态方法cn.hutool.crypto.KeyUtil
-
- getKeyGenerator(String) - 类 中的静态方法cn.hutool.crypto.KeyUtil
-
- getKeyPair(String, InputStream, char[], String) - 类 中的静态方法cn.hutool.crypto.KeyUtil
-
从KeyStore中获取私钥公钥
- getKeyPair(KeyStore, char[], String) - 类 中的静态方法cn.hutool.crypto.KeyUtil
-
从KeyStore中获取私钥公钥
- getKeyPairGenerator(String) - 类 中的静态方法cn.hutool.crypto.KeyUtil
-
- getMac() - 类 中的方法cn.hutool.crypto.digest.mac.BCHMacEngine
-
获得 Mac
- getMac() - 类 中的方法cn.hutool.crypto.digest.mac.DefaultHMacEngine
-
- getMainAlgorithm(String) - 类 中的静态方法cn.hutool.crypto.KeyUtil
-
获取主体算法名,例如RSA/ECB/PKCS1Padding的主体算法是RSA
- getPrivateKey() - 类 中的方法cn.hutool.crypto.asymmetric.BaseAsymmetric
-
获得私钥
- getPrivateKeyBase64() - 类 中的方法cn.hutool.crypto.asymmetric.BaseAsymmetric
-
获得私钥
- getProvider() - 枚举 中的方法cn.hutool.crypto.GlobalBouncyCastleProvider
-
- getPublicKey() - 类 中的方法cn.hutool.crypto.asymmetric.BaseAsymmetric
-
获得公钥
- getPublicKeyBase64() - 类 中的方法cn.hutool.crypto.asymmetric.BaseAsymmetric
-
获得公钥
- getSecretKey() - 类 中的方法cn.hutool.crypto.symmetric.SymmetricCrypto
-
获得对称密钥
- getSecretKeyFactory(String) - 类 中的静态方法cn.hutool.crypto.KeyUtil
-
- getSignature() - 类 中的方法cn.hutool.crypto.asymmetric.Sign
-
获得签名对象
- getValue() - 枚举 中的方法cn.hutool.crypto.asymmetric.AsymmetricAlgorithm
-
获取算法字符串表示,区分大小写
- getValue() - 枚举 中的方法cn.hutool.crypto.asymmetric.SignAlgorithm
-
获取算法字符串表示,区分大小写
- getValue() - 枚举 中的方法cn.hutool.crypto.digest.DigestAlgorithm
-
获取算法字符串表示
- getValue() - 枚举 中的方法cn.hutool.crypto.digest.HmacAlgorithm
-
- getValue() - 枚举 中的方法cn.hutool.crypto.symmetric.SymmetricAlgorithm
-
获得算法的字符串表示形式
- GlobalBouncyCastleProvider - cn.hutool.crypto中的枚举
-
全局单例的 org.bouncycastle.jce.provider.BouncyCastleProvider 对象
- hashpw(String) - 类 中的静态方法cn.hutool.crypto.digest.BCrypt
-
生成密文,使用长度为10的加盐方式
- hashpw(String, String) - 类 中的静态方法cn.hutool.crypto.digest.BCrypt
-
生成密文
- hmac(HmacAlgorithm, byte[]) - 类 中的静态方法cn.hutool.crypto.digest.DigestUtil
-
创建HMac对象,调用digest方法可获得hmac值
- hmac(HmacAlgorithm, SecretKey) - 类 中的静态方法cn.hutool.crypto.digest.DigestUtil
-
创建HMac对象,调用digest方法可获得hmac值
- HMac - cn.hutool.crypto.digest中的类
-
HMAC摘要算法
HMAC,全称为“Hash Message Authentication Code”,中文名“散列消息鉴别码”
主要是利用哈希算法,以一个密钥和一个消息为输入,生成一个消息摘要作为输出。
- HMac(HmacAlgorithm) - 类 的构造器cn.hutool.crypto.digest.HMac
-
构造,自动生成密钥
- HMac(HmacAlgorithm, byte[]) - 类 的构造器cn.hutool.crypto.digest.HMac
-
构造
- HMac(HmacAlgorithm, SecretKey) - 类 的构造器cn.hutool.crypto.digest.HMac
-
构造
- HMac(String, byte[]) - 类 的构造器cn.hutool.crypto.digest.HMac
-
构造
- HMac(String, SecretKey) - 类 的构造器cn.hutool.crypto.digest.HMac
-
构造
- HMac(MacEngine) - 类 的构造器cn.hutool.crypto.digest.HMac
-
构造
- hmac(HmacAlgorithm, String) - 类 中的静态方法cn.hutool.crypto.SecureUtil
-
创建HMac对象,调用digest方法可获得hmac值
- hmac(HmacAlgorithm, byte[]) - 类 中的静态方法cn.hutool.crypto.SecureUtil
-
创建HMac对象,调用digest方法可获得hmac值
- hmac(HmacAlgorithm, SecretKey) - 类 中的静态方法cn.hutool.crypto.SecureUtil
-
创建HMac对象,调用digest方法可获得hmac值
- HmacAlgorithm - cn.hutool.crypto.digest中的枚举
-
HMAC算法类型
see: https://docs.oracle.com/javase/7/docs/technotes/guides/security/StandardNames.html#Mac
- hmacMd5(String) - 类 中的静态方法cn.hutool.crypto.SecureUtil
-
HmacMD5加密器
例:
HmacMD5加密:hmacMd5(key).digest(data)
HmacMD5加密并转为16进制字符串:hmacMd5(key).digestHex(data)
- hmacMd5(byte[]) - 类 中的静态方法cn.hutool.crypto.SecureUtil
-
HmacMD5加密器
例:
HmacMD5加密:hmacMd5(key).digest(data)
HmacMD5加密并转为16进制字符串:hmacMd5(key).digestHex(data)
- hmacMd5() - 类 中的静态方法cn.hutool.crypto.SecureUtil
-
HmacMD5加密器,生成随机KEY
例:
HmacMD5加密:hmacMd5().digest(data)
HmacMD5加密并转为16进制字符串:hmacMd5().digestHex(data)
- hmacSha1(String) - 类 中的静态方法cn.hutool.crypto.SecureUtil
-
HmacSHA1加密器
例:
HmacSHA1加密:hmacSha1(key).digest(data)
HmacSHA1加密并转为16进制字符串:hmacSha1(key).digestHex(data)
- hmacSha1(byte[]) - 类 中的静态方法cn.hutool.crypto.SecureUtil
-
HmacSHA1加密器
例:
HmacSHA1加密:hmacSha1(key).digest(data)
HmacSHA1加密并转为16进制字符串:hmacSha1(key).digestHex(data)
- hmacSha1() - 类 中的静态方法cn.hutool.crypto.SecureUtil
-
HmacSHA1加密器,生成随机KEY
例:
HmacSHA1加密:hmacSha1().digest(data)
HmacSHA1加密并转为16进制字符串:hmacSha1().digestHex(data)
- hmacSm3(byte[]) - 类 中的静态方法cn.hutool.crypto.SmUtil
-
HmacSM3算法实现
- rc4(String) - 类 中的静态方法cn.hutool.crypto.SecureUtil
-
RC4算法
- RC4 - cn.hutool.crypto.symmetric中的类
-
RC4加密解密算法实现
来自:https://github.com/xSAVIKx/RC4-cipher/blob/master/src/main/java/com/github/xsavikx/rc4/RC4.java
- RC4(String) - 类 的构造器cn.hutool.crypto.symmetric.RC4
-
构造
- readCertificate(String, InputStream, char[], String) - 类 中的静态方法cn.hutool.crypto.KeyUtil
-
读取Certification文件
Certification为证书文件
see: http://snowolf.iteye.com/blog/391931
- readCertificate(String, InputStream) - 类 中的静态方法cn.hutool.crypto.KeyUtil
-
读取Certification文件
Certification为证书文件
see: http://snowolf.iteye.com/blog/391931
- readCertificate(String, InputStream, char[], String) - 类 中的静态方法cn.hutool.crypto.SecureUtil
-
读取Certification文件
Certification为证书文件
see: http://snowolf.iteye.com/blog/391931
- readCertificate(String, InputStream) - 类 中的静态方法cn.hutool.crypto.SecureUtil
-
读取Certification文件
Certification为证书文件
see: http://snowolf.iteye.com/blog/391931
- readJKSKeyStore(File, char[]) - 类 中的静态方法cn.hutool.crypto.KeyUtil
-
读取密钥库(Java Key Store,JKS) KeyStore文件
KeyStore文件用于数字证书的密钥对保存
see: http://snowolf.iteye.com/blog/391931
- readJKSKeyStore(InputStream, char[]) - 类 中的静态方法cn.hutool.crypto.KeyUtil
-
读取密钥库(Java Key Store,JKS) KeyStore文件
KeyStore文件用于数字证书的密钥对保存
see: http://snowolf.iteye.com/blog/391931
- readJKSKeyStore(InputStream, char[]) - 类 中的静态方法cn.hutool.crypto.SecureUtil
-
读取密钥库(Java Key Store,JKS) KeyStore文件
KeyStore文件用于数字证书的密钥对保存
see: http://snowolf.iteye.com/blog/391931
- readKey(InputStream) - 类 中的静态方法cn.hutool.crypto.BCUtil
-
- readKeyBytes(InputStream) - 类 中的静态方法cn.hutool.crypto.BCUtil
-
从pem文件中读取公钥或私钥
- readKeyStore(String, File, char[]) - 类 中的静态方法cn.hutool.crypto.KeyUtil
-
读取KeyStore文件
KeyStore文件用于数字证书的密钥对保存
see: http://snowolf.iteye.com/blog/391931
- readKeyStore(String, InputStream, char[]) - 类 中的静态方法cn.hutool.crypto.KeyUtil
-
读取KeyStore文件
KeyStore文件用于数字证书的密钥对保存
see: http://snowolf.iteye.com/blog/391931
- readKeyStore(String, InputStream, char[]) - 类 中的静态方法cn.hutool.crypto.SecureUtil
-
读取KeyStore文件
KeyStore文件用于数字证书的密钥对保存
see: http://snowolf.iteye.com/blog/391931
- readPemObject(InputStream) - 类 中的静态方法cn.hutool.crypto.BCUtil
-
读取pem文件中的信息,包括类型、头信息和密钥内容
- readPKCS12KeyStore(File, char[]) - 类 中的静态方法cn.hutool.crypto.KeyUtil
-
读取PKCS12 KeyStore文件
KeyStore文件用于数字证书的密钥对保存
- readPKCS12KeyStore(InputStream, char[]) - 类 中的静态方法cn.hutool.crypto.KeyUtil
-
读取PKCS12 KeyStore文件
KeyStore文件用于数字证书的密钥对保存
- readPrivateKey(InputStream) - 类 中的静态方法cn.hutool.crypto.BCUtil
-
读取PEM格式的私钥
- readPublicKey(InputStream) - 类 中的静态方法cn.hutool.crypto.BCUtil
-
读取PEM格式的公钥
- readPublicKeyFromCert(InputStream) - 类 中的静态方法cn.hutool.crypto.KeyUtil
-
读取X.509 Certification文件中的公钥
Certification为证书文件
see: https://www.cnblogs.com/yinliang/p/10115519.html
- readX509Certificate(InputStream, char[], String) - 类 中的静态方法cn.hutool.crypto.KeyUtil
-
读取X.509 Certification文件
Certification为证书文件
see: http://snowolf.iteye.com/blog/391931
- readX509Certificate(InputStream) - 类 中的静态方法cn.hutool.crypto.KeyUtil
-
读取X.509 Certification文件
Certification为证书文件
see: http://snowolf.iteye.com/blog/391931
- readX509Certificate(InputStream, char[], String) - 类 中的静态方法cn.hutool.crypto.SecureUtil
-
读取X.509 Certification文件
Certification为证书文件
see: http://snowolf.iteye.com/blog/391931
- readX509Certificate(InputStream) - 类 中的静态方法cn.hutool.crypto.SecureUtil
-
读取X.509 Certification文件
Certification为证书文件
see: http://snowolf.iteye.com/blog/391931
- reset() - 类 中的方法cn.hutool.crypto.digest.Digester
-
- RSA - cn.hutool.crypto.asymmetric中的类
-
RSA公钥/私钥/签名加密解密
罗纳德·李维斯特(Ron [R]ivest)、阿迪·萨莫尔(Adi [S]hamir)和伦纳德·阿德曼(Leonard [A]dleman)
由于非对称加密速度极其缓慢,一般文件不使用它来加密而是使用对称加密,
非对称加密算法可以用来对对称加密的密钥加密,这样保证密钥的安全也就保证了数据的安全
- RSA() - 类 的构造器cn.hutool.crypto.asymmetric.RSA
-
构造,生成新的私钥公钥对
- RSA(String) - 类 的构造器cn.hutool.crypto.asymmetric.RSA
-
构造,生成新的私钥公钥对
- RSA(String, String) - 类 的构造器cn.hutool.crypto.asymmetric.RSA
-
构造
私钥和公钥同时为空时生成一对新的私钥和公钥
私钥和公钥可以单独传入一个,如此则只能使用此钥匙来做加密或者解密
- RSA(String, String, String) - 类 的构造器cn.hutool.crypto.asymmetric.RSA
-
构造
私钥和公钥同时为空时生成一对新的私钥和公钥
私钥和公钥可以单独传入一个,如此则只能使用此钥匙来做加密或者解密
- RSA(byte[], byte[]) - 类 的构造器cn.hutool.crypto.asymmetric.RSA
-
构造
私钥和公钥同时为空时生成一对新的私钥和公钥
私钥和公钥可以单独传入一个,如此则只能使用此钥匙来做加密或者解密
- RSA(BigInteger, BigInteger, BigInteger) - 类 的构造器cn.hutool.crypto.asymmetric.RSA
-
构造
私钥和公钥同时为空时生成一对新的私钥和公钥
私钥和公钥可以单独传入一个,如此则只能使用此钥匙来做加密或者解密
- RSA(PrivateKey, PublicKey) - 类 的构造器cn.hutool.crypto.asymmetric.RSA
-
构造
私钥和公钥同时为空时生成一对新的私钥和公钥
私钥和公钥可以单独传入一个,如此则只能使用此钥匙来做加密或者解密
- RSA(String, PrivateKey, PublicKey) - 类 的构造器cn.hutool.crypto.asymmetric.RSA
-
构造
私钥和公钥同时为空时生成一对新的私钥和公钥
私钥和公钥可以单独传入一个,如此则只能使用此钥匙来做加密或者解密
- rsa() - 类 中的静态方法cn.hutool.crypto.SecureUtil
-
创建RSA算法对象
生成新的私钥公钥对
- rsa(String, String) - 类 中的静态方法cn.hutool.crypto.SecureUtil
-
创建RSA算法对象
私钥和公钥同时为空时生成一对新的私钥和公钥
私钥和公钥可以单独传入一个,如此则只能使用此钥匙来做加密或者解密
- rsa(byte[], byte[]) - 类 中的静态方法cn.hutool.crypto.SecureUtil
-
创建RSA算法对象
私钥和公钥同时为空时生成一对新的私钥和公钥
私钥和公钥可以单独传入一个,如此则只能使用此钥匙来做加密或者解密
- rsAsn1ToPlain(byte[]) - 类 中的静态方法cn.hutool.crypto.SmUtil
-
BC的SM3withSM2签名得到的结果的rs是asn1格式的,这个方法转化成直接拼接r||s
来自:https://blog.csdn.net/pridas/article/details/86118774
- rsPlainToAsn1(byte[]) - 类 中的静态方法cn.hutool.crypto.SmUtil
-
BC的SM3withSM2验签需要的rs是asn1格式的,这个方法将直接拼接r||s的字节数组转化成asn1格式
来自:https://blog.csdn.net/pridas/article/details/86118774
- salt - 类 中的变量cn.hutool.crypto.digest.Digester
-
盐值
- saltPosition - 类 中的变量cn.hutool.crypto.digest.Digester
-
加盐位置,即将盐值字符串放置在数据的index数,默认0
- SecureUtil - cn.hutool.crypto中的类
-
安全相关工具类
加密分为三种:
1、对称加密(symmetric),例如:AES、DES等
2、非对称加密(asymmetric),例如:RSA、DSA等
3、摘要加密(digest),例如:MD5、SHA-1、SHA-256、HMAC等
- SecureUtil() - 类 的构造器cn.hutool.crypto.SecureUtil
-
- setCertificate(Certificate) - 类 中的方法cn.hutool.crypto.asymmetric.Sign
-
设置
Certificate 为PublicKey
如果Certificate是X509Certificate,我们需要检查是否有密钥扩展
- setDecryptBlockSize(int) - 类 中的方法cn.hutool.crypto.asymmetric.AsymmetricCrypto
-
设置解密块大小
- setDigestCount(int) - 类 中的方法cn.hutool.crypto.digest.Digester
-
设置重复计算摘要值次数
- setEncryptBlockSize(int) - 类 中的方法cn.hutool.crypto.asymmetric.AsymmetricCrypto
-
设置加密块大小
- setIv(IvParameterSpec) - 类 中的方法cn.hutool.crypto.symmetric.SymmetricCrypto
-
设置偏移向量
- setIv(byte[]) - 类 中的方法cn.hutool.crypto.symmetric.SymmetricCrypto
-
设置偏移向量
- setKey(String) - 类 中的方法cn.hutool.crypto.symmetric.RC4
-
设置密钥
- setMode(SM2Engine.SM2Mode) - 类 中的方法cn.hutool.crypto.asymmetric.SM2
-
设置加密类型
- setMode(SM2Engine.SM2Mode) - 类 中的方法cn.hutool.crypto.asymmetric.SM2Engine
-
设置加密类型
- setParameter(AlgorithmParameterSpec) - 类 中的方法cn.hutool.crypto.asymmetric.Sign
-
设置签名的参数
- setParams(AlgorithmParameterSpec) - 类 中的方法cn.hutool.crypto.symmetric.SymmetricCrypto
-
- setPrivateKey(PrivateKey) - 类 中的方法cn.hutool.crypto.asymmetric.BaseAsymmetric
-
设置私钥
- setPrivateKey(PrivateKey) - 类 中的方法cn.hutool.crypto.asymmetric.SM2
-
- setPublicKey(PublicKey) - 类 中的方法cn.hutool.crypto.asymmetric.BaseAsymmetric
-
设置公钥
- setPublicKey(PublicKey) - 类 中的方法cn.hutool.crypto.asymmetric.SM2
-
- setSalt(byte[]) - 类 中的方法cn.hutool.crypto.digest.Digester
-
设置加盐内容
- setSaltPosition(int) - 类 中的方法cn.hutool.crypto.digest.Digester
-
设置加盐的位置,只有盐值存在时有效
加盐的位置指盐位于数据byte数组中的位置,例如:
data: 0123456
则当saltPosition = 2时,盐位于data的1和2中间,即第二个空隙,即:
data: 01[salt]23456
- setSignature(Signature) - 类 中的方法cn.hutool.crypto.asymmetric.Sign
-
设置签名
- setUseBouncyCastle(boolean) - 枚举 中的静态方法cn.hutool.crypto.GlobalBouncyCastleProvider
-
设置是否使用Bouncy Castle库
如果设置为false,表示强制关闭Bouncy Castle而使用JDK
- sha1(byte[]) - 类 中的静态方法cn.hutool.crypto.digest.DigestUtil
-
计算SHA-1摘要值
- sha1(String, String) - 类 中的静态方法cn.hutool.crypto.digest.DigestUtil
-
计算SHA-1摘要值
- sha1(String) - 类 中的静态方法cn.hutool.crypto.digest.DigestUtil
-
计算sha1摘要值,使用UTF-8编码
- sha1(InputStream) - 类 中的静态方法cn.hutool.crypto.digest.DigestUtil
-
计算SHA-1摘要值
- sha1(File) - 类 中的静态方法cn.hutool.crypto.digest.DigestUtil
-
计算SHA-1摘要值
- sha1() - 类 中的静态方法cn.hutool.crypto.SecureUtil
-
SHA1加密
例:
SHA1加密:sha1().digest(data)
SHA1加密并转为16进制字符串:sha1().digestHex(data)
- sha1(String) - 类 中的静态方法cn.hutool.crypto.SecureUtil
-
SHA1加密,生成16进制SHA1字符串
- sha1(InputStream) - 类 中的静态方法cn.hutool.crypto.SecureUtil
-
SHA1加密,生成16进制SHA1字符串
- sha1(File) - 类 中的静态方法cn.hutool.crypto.SecureUtil
-
SHA1加密文件,生成16进制SHA1字符串
- sha1Hex(byte[]) - 类 中的静态方法cn.hutool.crypto.digest.DigestUtil
-
计算SHA-1摘要值,并转为16进制字符串
- sha1Hex(String, String) - 类 中的静态方法cn.hutool.crypto.digest.DigestUtil
-
计算SHA-1摘要值,并转为16进制字符串
- sha1Hex(String) - 类 中的静态方法cn.hutool.crypto.digest.DigestUtil
-
计算SHA-1摘要值,并转为16进制字符串
- sha1Hex(InputStream) - 类 中的静态方法cn.hutool.crypto.digest.DigestUtil
-
计算SHA-1摘要值,并转为16进制字符串
- sha1Hex(File) - 类 中的静态方法cn.hutool.crypto.digest.DigestUtil
-
计算SHA-1摘要值,并转为16进制字符串
- sha256(byte[]) - 类 中的静态方法cn.hutool.crypto.digest.DigestUtil
-
计算SHA-256摘要值
- sha256(String, String) - 类 中的静态方法cn.hutool.crypto.digest.DigestUtil
-
计算SHA-256摘要值
- sha256(String) - 类 中的静态方法cn.hutool.crypto.digest.DigestUtil
-
计算sha256摘要值,使用UTF-8编码
- sha256(InputStream) - 类 中的静态方法cn.hutool.crypto.digest.DigestUtil
-
计算SHA-256摘要值
- sha256(File) - 类 中的静态方法cn.hutool.crypto.digest.DigestUtil
-
计算SHA-256摘要值
- sha256() - 类 中的静态方法cn.hutool.crypto.SecureUtil
-
SHA256加密
例:
SHA256加密:sha256().digest(data)
SHA256加密并转为16进制字符串:sha256().digestHex(data)
- sha256(String) - 类 中的静态方法cn.hutool.crypto.SecureUtil
-
SHA256加密,生成16进制SHA256字符串
- sha256(InputStream) - 类 中的静态方法cn.hutool.crypto.SecureUtil
-
SHA256加密,生成16进制SHA256字符串
- sha256(File) - 类 中的静态方法cn.hutool.crypto.SecureUtil
-
SHA256加密文件,生成16进制SHA256字符串
- sha256Hex(byte[]) - 类 中的静态方法cn.hutool.crypto.digest.DigestUtil
-
计算SHA-1摘要值,并转为16进制字符串
- sha256Hex(String, String) - 类 中的静态方法cn.hutool.crypto.digest.DigestUtil
-
计算SHA-256摘要值,并转为16进制字符串
- sha256Hex(String) - 类 中的静态方法cn.hutool.crypto.digest.DigestUtil
-
计算SHA-256摘要值,并转为16进制字符串
- sha256Hex(InputStream) - 类 中的静态方法cn.hutool.crypto.digest.DigestUtil
-
计算SHA-256摘要值,并转为16进制字符串
- sha256Hex(File) - 类 中的静态方法cn.hutool.crypto.digest.DigestUtil
-
计算SHA-256摘要值,并转为16进制字符串
- Sign - cn.hutool.crypto.asymmetric中的类
-
- Sign(SignAlgorithm) - 类 的构造器cn.hutool.crypto.asymmetric.Sign
-
构造,创建新的私钥公钥对
- Sign(String) - 类 的构造器cn.hutool.crypto.asymmetric.Sign
-
构造,创建新的私钥公钥对
- Sign(SignAlgorithm, String, String) - 类 的构造器cn.hutool.crypto.asymmetric.Sign
-
构造 私钥和公钥同时为空时生成一对新的私钥和公钥
私钥和公钥可以单独传入一个,如此则只能使用此钥匙来做签名或验证
- Sign(SignAlgorithm, byte[], byte[]) - 类 的构造器cn.hutool.crypto.asymmetric.Sign
-
构造 私钥和公钥同时为空时生成一对新的私钥和公钥
私钥和公钥可以单独传入一个,如此则只能使用此钥匙来做签名或验证
- Sign(SignAlgorithm, KeyPair) - 类 的构造器cn.hutool.crypto.asymmetric.Sign
-
构造 私钥和公钥同时为空时生成一对新的私钥和公钥
私钥和公钥可以单独传入一个,如此则只能使用此钥匙来做签名或验证
- Sign(SignAlgorithm, PrivateKey, PublicKey) - 类 的构造器cn.hutool.crypto.asymmetric.Sign
-
构造 私钥和公钥同时为空时生成一对新的私钥和公钥
私钥和公钥可以单独传入一个,如此则只能使用此钥匙来做签名或验证
- Sign(String, String, String) - 类 的构造器cn.hutool.crypto.asymmetric.Sign
-
构造 私钥和公钥同时为空时生成一对新的私钥和公钥
私钥和公钥可以单独传入一个,如此则只能使用此钥匙来做签名或验证
- Sign(String, byte[], byte[]) - 类 的构造器cn.hutool.crypto.asymmetric.Sign
-
构造
私钥和公钥同时为空时生成一对新的私钥和公钥
私钥和公钥可以单独传入一个,如此则只能使用此钥匙来做签名或验证
- Sign(String, KeyPair) - 类 的构造器cn.hutool.crypto.asymmetric.Sign
-
构造 私钥和公钥同时为空时生成一对新的私钥和公钥
私钥和公钥可以单独传入一个,如此则只能使用此钥匙来做签名或验证
- Sign(String, PrivateKey, PublicKey) - 类 的构造器cn.hutool.crypto.asymmetric.Sign
-
构造
私钥和公钥同时为空时生成一对新的私钥和公钥
私钥和公钥可以单独传入一个,如此则只能使用此钥匙来做签名或验证
- sign(byte[]) - 类 中的方法cn.hutool.crypto.asymmetric.Sign
-
用私钥对信息生成数字签名
- sign(byte[]) - 类 中的方法cn.hutool.crypto.asymmetric.SM2
-
用私钥对信息生成数字签名
- sign(byte[], byte[]) - 类 中的方法cn.hutool.crypto.asymmetric.SM2
-
用私钥对信息生成数字签名
- sign(SignAlgorithm) - 类 中的静态方法cn.hutool.crypto.SecureUtil
-
创建签名算法对象
生成新的私钥公钥对
- sign(SignAlgorithm, String, String) - 类 中的静态方法cn.hutool.crypto.SecureUtil
-
创建签名算法对象
私钥和公钥同时为空时生成一对新的私钥和公钥
私钥和公钥可以单独传入一个,如此则只能使用此钥匙来做签名或验证
- sign(SignAlgorithm, byte[], byte[]) - 类 中的静态方法cn.hutool.crypto.SecureUtil
-
创建Sign算法对象
私钥和公钥同时为空时生成一对新的私钥和公钥
私钥和公钥可以单独传入一个,如此则只能使用此钥匙来做签名或验证
- SignAlgorithm - cn.hutool.crypto.asymmetric中的枚举
-
签名算法类型
see: https://docs.oracle.com/javase/7/docs/technotes/guides/security/StandardNames.html#Signature
- signature - 类 中的变量cn.hutool.crypto.asymmetric.Sign
-
签名,用于签名和验证
- signer - 类 中的变量cn.hutool.crypto.asymmetric.SM2
-
- signParams(SymmetricCrypto, Map<?, ?>, String...) - 类 中的静态方法cn.hutool.crypto.SecureUtil
-
对参数做签名
参数签名为对Map参数按照key的顺序排序后拼接为字符串,然后根据提供的签名算法生成签名字符串
拼接后的字符串键值对之间无符号,键值对之间无符号,忽略null值
- signParams(SymmetricCrypto, Map<?, ?>, String, String, boolean, String...) - 类 中的静态方法cn.hutool.crypto.SecureUtil
-
对参数做签名
参数签名为对Map参数按照key的顺序排序后拼接为字符串,然后根据提供的签名算法生成签名字符串
- signParams(DigestAlgorithm, Map<?, ?>, String...) - 类 中的静态方法cn.hutool.crypto.SecureUtil
-
对参数做签名
参数签名为对Map参数按照key的顺序排序后拼接为字符串,然后根据提供的签名算法生成签名字符串
拼接后的字符串键值对之间无符号,键值对之间无符号,忽略null值
- signParams(DigestAlgorithm, Map<?, ?>, String, String, boolean, String...) - 类 中的静态方法cn.hutool.crypto.SecureUtil
-
对参数做签名
参数签名为对Map参数按照key的顺序排序后拼接为字符串,然后根据提供的签名算法生成签名字符串
- signParamsMd5(Map<?, ?>, String...) - 类 中的静态方法cn.hutool.crypto.SecureUtil
-
对参数做md5签名
参数签名为对Map参数按照key的顺序排序后拼接为字符串,然后根据提供的签名算法生成签名字符串
拼接后的字符串键值对之间无符号,键值对之间无符号,忽略null值
- signParamsSha1(Map<?, ?>, String...) - 类 中的静态方法cn.hutool.crypto.SecureUtil
-
对参数做Sha1签名
参数签名为对Map参数按照key的顺序排序后拼接为字符串,然后根据提供的签名算法生成签名字符串
拼接后的字符串键值对之间无符号,键值对之间无符号,忽略null值
- signParamsSha256(Map<?, ?>, String...) - 类 中的静态方法cn.hutool.crypto.SecureUtil
-
对参数做Sha256签名
参数签名为对Map参数按照key的顺序排序后拼接为字符串,然后根据提供的签名算法生成签名字符串
拼接后的字符串键值对之间无符号,键值对之间无符号,忽略null值
- simpleUUID() - 类 中的静态方法cn.hutool.crypto.SecureUtil
-
- SM2 - cn.hutool.crypto.asymmetric中的类
-
国密SM2算法实现,基于BC库
SM2算法只支持公钥加密,私钥解密
参考:https://blog.csdn.net/pridas/article/details/86118774
- SM2() - 类 的构造器cn.hutool.crypto.asymmetric.SM2
-
构造,生成新的私钥公钥对
- SM2(String, String) - 类 的构造器cn.hutool.crypto.asymmetric.SM2
-
构造
私钥和公钥同时为空时生成一对新的私钥和公钥
私钥和公钥可以单独传入一个,如此则只能使用此钥匙来做加密或者解密
- SM2(byte[], byte[]) - 类 的构造器cn.hutool.crypto.asymmetric.SM2
-
构造
私钥和公钥同时为空时生成一对新的私钥和公钥
私钥和公钥可以单独传入一个,如此则只能使用此钥匙来做加密或者解密
- SM2(PrivateKey, PublicKey) - 类 的构造器cn.hutool.crypto.asymmetric.SM2
-
构造
私钥和公钥同时为空时生成一对新的私钥和公钥
私钥和公钥可以单独传入一个,如此则只能使用此钥匙来做加密或者解密
- sm2() - 类 中的静态方法cn.hutool.crypto.SmUtil
-
创建SM2算法对象
生成新的私钥公钥对
- sm2(String, String) - 类 中的静态方法cn.hutool.crypto.SmUtil
-
创建SM2算法对象
私钥和公钥同时为空时生成一对新的私钥和公钥
私钥和公钥可以单独传入一个,如此则只能使用此钥匙来做加密或者解密
- sm2(byte[], byte[]) - 类 中的静态方法cn.hutool.crypto.SmUtil
-
创建SM2算法对象
私钥和公钥同时为空时生成一对新的私钥和公钥
私钥和公钥可以单独传入一个,如此则只能使用此钥匙来做加密或者解密
- SM2_DEFAULT_CURVE - 类 中的静态变量cn.hutool.crypto.KeyUtil
-
SM2默认曲线
Default SM2 curve
- SM2Engine - cn.hutool.crypto.asymmetric中的类
-
SM2加密解密引擎,来自Bouncy Castle库的SM2Engine类改造
SM2加密后的数据格式为(两种模式):
curve(C1) | data(C2) | digest(C3)
curve(C1) | digest(C3) | data(C2)
- SM2Engine() - 类 的构造器cn.hutool.crypto.asymmetric.SM2Engine
-
构造
- SM2Engine(SM2Engine.SM2Mode) - 类 的构造器cn.hutool.crypto.asymmetric.SM2Engine
-
构造
- SM2Engine(Digest) - 类 的构造器cn.hutool.crypto.asymmetric.SM2Engine
-
构造
- SM2Engine(Digest, SM2Engine.SM2Mode) - 类 的构造器cn.hutool.crypto.asymmetric.SM2Engine
-
构造
- SM2Engine.SM2Mode - cn.hutool.crypto.asymmetric中的枚举
-
SM2算法模式
在SM2算法中,C1C2C3为旧标准模式,C1C3C2为新标准模式
- SM3 - cn.hutool.crypto.digest中的类
-
SM3算法
- SM3() - 类 的构造器cn.hutool.crypto.digest.SM3
-
构造
- SM3(byte[]) - 类 的构造器cn.hutool.crypto.digest.SM3
-
构造
- SM3(byte[], int) - 类 的构造器cn.hutool.crypto.digest.SM3
-
构造
- SM3(byte[], int, int) - 类 的构造器cn.hutool.crypto.digest.SM3
-
构造
- sm3() - 类 中的静态方法cn.hutool.crypto.SmUtil
-
SM3加密
例:
SM3加密:sm3().digest(data)
SM3加密并转为16进制字符串:sm3().digestHex(data)
- sm3(String) - 类 中的静态方法cn.hutool.crypto.SmUtil
-
SM3加密,生成16进制SM3字符串
- sm3(InputStream) - 类 中的静态方法cn.hutool.crypto.SmUtil
-
SM3加密,生成16进制SM3字符串
- sm3(File) - 类 中的静态方法cn.hutool.crypto.SmUtil
-
SM3加密文件,生成16进制SM3字符串
- sm4() - 类 中的静态方法cn.hutool.crypto.SmUtil
-
SM4加密,生成随机KEY。
- sm4(byte[]) - 类 中的静态方法cn.hutool.crypto.SmUtil
-
SM4加密
例:
SM4加密:sm4(key).encrypt(data)
SM4解密:sm4(key).decrypt(data)
- SM4 - cn.hutool.crypto.symmetric中的类
-
SM4实现
- SM4() - 类 的构造器cn.hutool.crypto.symmetric.SM4
-
构造,使用随机密钥
- SM4(byte[]) - 类 的构造器cn.hutool.crypto.symmetric.SM4
-
构造
- SM4(Mode, Padding) - 类 的构造器cn.hutool.crypto.symmetric.SM4
-
构造,使用随机密钥
- SM4(Mode, Padding, byte[]) - 类 的构造器cn.hutool.crypto.symmetric.SM4
-
构造
- SM4(Mode, Padding, byte[], byte[]) - 类 的构造器cn.hutool.crypto.symmetric.SM4
-
构造
- SM4(Mode, Padding, SecretKey) - 类 的构造器cn.hutool.crypto.symmetric.SM4
-
构造
- SM4(Mode, Padding, SecretKey, byte[]) - 类 的构造器cn.hutool.crypto.symmetric.SM4
-
构造
- SM4(Mode, Padding, SecretKey, IvParameterSpec) - 类 的构造器cn.hutool.crypto.symmetric.SM4
-
构造
- SM4(String, String) - 类 的构造器cn.hutool.crypto.symmetric.SM4
-
构造
- SM4(String, String, byte[]) - 类 的构造器cn.hutool.crypto.symmetric.SM4
-
构造
- SM4(String, String, byte[], byte[]) - 类 的构造器cn.hutool.crypto.symmetric.SM4
-
构造
- SM4(String, String, SecretKey) - 类 的构造器cn.hutool.crypto.symmetric.SM4
-
构造
- SM4(String, String, SecretKey, IvParameterSpec) - 类 的构造器cn.hutool.crypto.symmetric.SM4
-
构造
- SmUtil - cn.hutool.crypto中的类
-
SM国密算法工具类
此工具类依赖org.bouncycastle:bcpkix-jdk15on
- SmUtil() - 类 的构造器cn.hutool.crypto.SmUtil
-
- SymmetricAlgorithm - cn.hutool.crypto.symmetric中的枚举
-
对称算法类型
see: https://docs.oracle.com/javase/7/docs/technotes/guides/security/StandardNames.html#KeyGenerator
- SymmetricCrypto - cn.hutool.crypto.symmetric中的类
-
对称加密算法
在对称加密算法中,数据发信方将明文(原始数据)和加密密钥一起经过特殊加密算法处理后,使其变成复杂的加密密文发送出去。
- SymmetricCrypto(SymmetricAlgorithm) - 类 的构造器cn.hutool.crypto.symmetric.SymmetricCrypto
-
构造,使用随机密钥
- SymmetricCrypto(String) - 类 的构造器cn.hutool.crypto.symmetric.SymmetricCrypto
-
构造,使用随机密钥
- SymmetricCrypto(SymmetricAlgorithm, byte[]) - 类 的构造器cn.hutool.crypto.symmetric.SymmetricCrypto
-
构造
- SymmetricCrypto(SymmetricAlgorithm, SecretKey) - 类 的构造器cn.hutool.crypto.symmetric.SymmetricCrypto
-
构造
- SymmetricCrypto(String, byte[]) - 类 的构造器cn.hutool.crypto.symmetric.SymmetricCrypto
-
构造
- SymmetricCrypto(String, SecretKey) - 类 的构造器cn.hutool.crypto.symmetric.SymmetricCrypto
-
构造
- SymmetricCrypto(String, SecretKey, AlgorithmParameterSpec) - 类 的构造器cn.hutool.crypto.symmetric.SymmetricCrypto
-
构造