public class Digester
extends java.lang.Object
| 限定符和类型 | 字段和说明 |
|---|---|
protected int |
digestCount
散列次数
|
protected byte[] |
salt
盐值
|
protected int |
saltPosition
加盐位置,既将盐值字符串放置在数据的index数,默认0
|
| 构造器和说明 |
|---|
Digester(DigestAlgorithm algorithm)
构造
|
Digester(DigestAlgorithm algorithm,
java.security.Provider provider)
构造
|
Digester(java.lang.String algorithm)
构造
|
Digester(java.lang.String algorithm,
java.security.Provider provider)
构造
|
| 限定符和类型 | 方法和说明 |
|---|---|
byte[] |
digest(byte[] data)
生成摘要,考虑加盐和重复摘要次数
|
byte[] |
digest(java.io.File file)
生成文件摘要
使用默认缓存大小,见 IoUtil.DEFAULT_BUFFER_SIZE |
byte[] |
digest(java.io.InputStream data)
生成摘要,使用默认缓存大小,见
IoUtil.DEFAULT_BUFFER_SIZE |
byte[] |
digest(java.io.InputStream data,
int bufferLength)
生成摘要
|
byte[] |
digest(java.lang.String data)
生成文件摘要
|
byte[] |
digest(java.lang.String data,
java.lang.String charset)
生成文件摘要
|
java.lang.String |
digestHex(byte[] data)
生成摘要,并转为16进制字符串
|
java.lang.String |
digestHex(java.io.File file)
生成文件摘要,并转为16进制字符串
使用默认缓存大小,见 IoUtil.DEFAULT_BUFFER_SIZE |
java.lang.String |
digestHex(java.io.InputStream data)
生成摘要,并转为16进制字符串
使用默认缓存大小,见 IoUtil.DEFAULT_BUFFER_SIZE |
java.lang.String |
digestHex(java.io.InputStream data,
int bufferLength)
生成摘要,并转为16进制字符串
使用默认缓存大小,见 IoUtil.DEFAULT_BUFFER_SIZE |
java.lang.String |
digestHex(java.lang.String data)
生成文件摘要
|
java.lang.String |
digestHex(java.lang.String data,
java.lang.String charset)
生成文件摘要,并转为16进制字符串
|
java.security.MessageDigest |
getDigest()
获得
MessageDigest |
int |
getDigestLength()
获取散列长度,0表示不支持此方法
|
Digester |
init(java.lang.String algorithm,
java.security.Provider provider)
初始化
|
Digester |
reset()
重置
MessageDigest |
Digester |
setDigestCount(int digestCount)
设置重复计算摘要值次数
|
Digester |
setSalt(byte[] salt)
设置加盐内容
|
Digester |
setSaltPosition(int saltPosition)
设置加盐的位置,只有盐值存在时有效
加盐的位置指盐位于数据byte数组中的位置,例如: data: 0123456 则当saltPosition = 2时,盐位于data的1和2中间,既第二个空隙,既: data: 01[salt]23456 |
protected byte[] salt
protected int saltPosition
protected int digestCount
public Digester(DigestAlgorithm algorithm)
algorithm - 算法枚举public Digester(java.lang.String algorithm)
algorithm - 算法枚举public Digester(DigestAlgorithm algorithm, java.security.Provider provider)
algorithm - 算法provider - 算法提供者,null表示JDK默认,可以引入Bouncy Castle等来提供更多算法支持public Digester(java.lang.String algorithm,
java.security.Provider provider)
algorithm - 算法provider - 算法提供者,null表示JDK默认,可以引入Bouncy Castle等来提供更多算法支持public Digester init(java.lang.String algorithm, java.security.Provider provider)
algorithm - 算法provider - 算法提供者,null表示JDK默认,可以引入Bouncy Castle等来提供更多算法支持DigesterCryptoException - Cause by IOExceptionpublic Digester setSalt(byte[] salt)
salt - 盐值public Digester setSaltPosition(int saltPosition)
data: 0123456则当saltPosition = 2时,盐位于data的1和2中间,既第二个空隙,既:
data: 01[salt]23456
saltPosition - 盐的位置public Digester setDigestCount(int digestCount)
digestCount - 摘要值次数public Digester reset()
MessageDigestpublic byte[] digest(java.lang.String data,
java.lang.String charset)
data - 被摘要数据charset - 编码public byte[] digest(java.lang.String data)
data - 被摘要数据public java.lang.String digestHex(java.lang.String data,
java.lang.String charset)
data - 被摘要数据charset - 编码public java.lang.String digestHex(java.lang.String data)
data - 被摘要数据public byte[] digest(java.io.File file)
throws CryptoException
IoUtil.DEFAULT_BUFFER_SIZEfile - 被摘要文件CryptoException - Cause by IOExceptionpublic java.lang.String digestHex(java.io.File file)
IoUtil.DEFAULT_BUFFER_SIZEfile - 被摘要文件public byte[] digest(byte[] data)
data - 数据bytespublic java.lang.String digestHex(byte[] data)
data - 被摘要数据public byte[] digest(java.io.InputStream data)
IoUtil.DEFAULT_BUFFER_SIZEdata - InputStream 数据流public java.lang.String digestHex(java.io.InputStream data)
IoUtil.DEFAULT_BUFFER_SIZEdata - 被摘要数据public byte[] digest(java.io.InputStream data,
int bufferLength)
throws IORuntimeException
data - InputStream 数据流bufferLength - 缓存长度,不足1使用 IoUtil.DEFAULT_BUFFER_SIZE 做为默认值IORuntimeException - IO异常public java.lang.String digestHex(java.io.InputStream data,
int bufferLength)
IoUtil.DEFAULT_BUFFER_SIZEdata - 被摘要数据bufferLength - 缓存长度,不足1使用 IoUtil.DEFAULT_BUFFER_SIZE 做为默认值public java.security.MessageDigest getDigest()
MessageDigestMessageDigestpublic int getDigestLength()
Copyright © 2019. All rights reserved.