Class Digester
java.lang.Object
org.miaixz.bus.core.lang.wrapper.SimpleWrapper<MessageDigest>
org.miaixz.bus.crypto.builtin.digest.Digester
- All Implemented Interfaces:
Serializable,org.miaixz.bus.core.lang.Wrapper<MessageDigest>
public class Digester
extends org.miaixz.bus.core.lang.wrapper.SimpleWrapper<MessageDigest>
implements Serializable
摘要算法
注意:此对象实例化后为非线程安全!
- Since:
- Java 17+
- Author:
- Kimi Liu
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected int散列次数protected byte[]盐值protected int加盐位置,即将盐值字符串放置在数据的index数,默认0Fields inherited from class org.miaixz.bus.core.lang.wrapper.SimpleWrapper
raw -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbyte[]digest(byte[] data) 生成摘要,考虑加盐和重复摘要次数byte[]生成文件摘要 使用默认缓存大小,见Normal.DEFAULT_BUFFER_SIZEbyte[]digest(InputStream data) 生成摘要,使用默认缓存大小,见Normal.DEFAULT_BUFFER_SIZEbyte[]digest(InputStream data, int bufferLength) 生成摘要byte[]生成文件摘要byte[]生成文件摘要digestHex(byte[] data) 生成摘要,并转为16进制字符串生成文件摘要,并转为16进制字符串 使用默认缓存大小,见Normal.DEFAULT_BUFFER_SIZEdigestHex(InputStream data) 生成摘要,并转为16进制字符串 使用默认缓存大小,见Normal.DEFAULT_BUFFER_SIZEdigestHex(InputStream data, int bufferLength) 生成摘要,并转为16进制字符串 使用默认缓存大小,见Normal.DEFAULT_BUFFER_SIZE生成文件摘要生成文件摘要,并转为16进制字符串int获取散列长度,0表示不支持此方法reset()setDigestCount(int digestCount) 设置重复计算摘要值次数setSalt(byte[] salt) 设置加盐内容setSaltPosition(int saltPosition) 设置加盐的位置,只有盐值存在时有效 加盐的位置指盐位于数据byte数组中的位置,例如:Methods inherited from class org.miaixz.bus.core.lang.wrapper.SimpleWrapper
getRaw
-
Field Details
-
salt
protected byte[] salt盐值 -
saltPosition
protected int saltPosition加盐位置,即将盐值字符串放置在数据的index数,默认0 -
digestCount
protected int digestCount散列次数
-
-
Constructor Details
-
Digester
public Digester(org.miaixz.bus.core.lang.Algorithm algorithm) 构造- Parameters:
algorithm- 算法枚举
-
Digester
构造- Parameters:
algorithm- 算法枚举
-
Digester
构造- Parameters:
algorithm- 算法provider- 算法提供者,null表示使用Holder找到的提供方。
-
Digester
构造- Parameters:
algorithm- 算法provider- 算法提供者,null表示使用Holder找到的提供方。
-
Digester
构造- Parameters:
messageDigest-MessageDigest
-
-
Method Details
-
setSalt
设置加盐内容- Parameters:
salt- 盐值- Returns:
- this
-
setSaltPosition
设置加盐的位置,只有盐值存在时有效 加盐的位置指盐位于数据byte数组中的位置,例如:data: 0123456
则当saltPosition = 2时,盐位于data的1和2中间,即第二个空隙,即:
data: 01[salt]23456
- Parameters:
saltPosition- 盐的位置- Returns:
- this
-
setDigestCount
设置重复计算摘要值次数- Parameters:
digestCount- 摘要值次数- Returns:
- this
-
reset
- Returns:
- this
-
digest
生成文件摘要- Parameters:
data- 被摘要数据charset- 编码- Returns:
- 摘要
-
digest
生成文件摘要- Parameters:
data- 被摘要数据- Returns:
- 摘要
-
digestHex
生成文件摘要,并转为16进制字符串- Parameters:
data- 被摘要数据charset- 编码- Returns:
- 摘要
-
digestHex
生成文件摘要- Parameters:
data- 被摘要数据- Returns:
- 摘要
-
digest
生成文件摘要 使用默认缓存大小,见Normal.DEFAULT_BUFFER_SIZE- Parameters:
file- 被摘要文件- Returns:
- 摘要bytes
- Throws:
org.miaixz.bus.core.lang.exception.CryptoException- Cause by IOException
-
digestHex
生成文件摘要,并转为16进制字符串 使用默认缓存大小,见Normal.DEFAULT_BUFFER_SIZE- Parameters:
file- 被摘要文件- Returns:
- 摘要
-
digest
public byte[] digest(byte[] data) 生成摘要,考虑加盐和重复摘要次数- Parameters:
data- 数据bytes- Returns:
- 摘要bytes
-
digestHex
生成摘要,并转为16进制字符串- Parameters:
data- 被摘要数据- Returns:
- 摘要
-
digest
生成摘要,使用默认缓存大小,见Normal.DEFAULT_BUFFER_SIZE- Parameters:
data-InputStream数据流- Returns:
- 摘要bytes
-
digestHex
生成摘要,并转为16进制字符串 使用默认缓存大小,见Normal.DEFAULT_BUFFER_SIZE- Parameters:
data- 被摘要数据- Returns:
- 摘要
-
digest
public byte[] digest(InputStream data, int bufferLength) throws org.miaixz.bus.core.lang.exception.InternalException 生成摘要- Parameters:
data-InputStream数据流bufferLength- 缓存长度,不足1使用Normal.DEFAULT_BUFFER_SIZE做为默认值- Returns:
- 摘要bytes
- Throws:
org.miaixz.bus.core.lang.exception.InternalException- IO异常
-
digestHex
生成摘要,并转为16进制字符串 使用默认缓存大小,见Normal.DEFAULT_BUFFER_SIZE- Parameters:
data- 被摘要数据bufferLength- 缓存长度,不足1使用Normal.DEFAULT_BUFFER_SIZE做为默认值- Returns:
- 摘要
-
getDigestLength
public int getDigestLength()获取散列长度,0表示不支持此方法- Returns:
- 散列长度,0表示不支持此方法
-