java.lang.Object
org.miaixz.bus.crypto.center.Argon2
Argon2加密实现
- Since:
- Java 17+
- Author:
- Kimi Liu
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbyte[]digest(char[] password) 生成hash值setAdditional(byte[] additional) setHashLength(int hashLength) 设置hash长度setIterations(int iterations) 设置迭代次数 迭代次数越多,生成哈希的时间就越长,破解哈希就越困难setMemoryAsKB(int memoryAsKB) 设置内存,单位KB 内存越大,生成哈希的时间就越长,破解哈希就越困难setParallelism(int parallelism) 设置并行度,即同时使用的核心数 值越高,生成哈希的时间就越长,破解哈希就越困难setSalt(byte[] salt) 设置盐setSecret(byte[] secret) 设置可选的密钥数据,用于增加哈希的复杂性setVersion(int version) 设置版本
-
Field Details
-
DEFAULT_HASH_LENGTH
public static final int DEFAULT_HASH_LENGTH默认hash长度- See Also:
-
-
Constructor Details
-
Argon2
public Argon2()构造,默认使用Argon2Parameters.ARGON2_id类型 -
Argon2
public Argon2(int type) 构造- Parameters:
type-Argon2Parameters.ARGON2_d、Argon2Parameters.ARGON2_i、Argon2Parameters.ARGON2_id
-
Argon2
public Argon2(org.bouncycastle.crypto.params.Argon2Parameters.Builder paramsBuilder) 构造- Parameters:
paramsBuilder- 参数构造器
-
-
Method Details
-
setHashLength
设置hash长度- Parameters:
hashLength- hash长度- Returns:
- this
-
setVersion
设置版本- Parameters:
version- 版本- Returns:
- this
- See Also:
-
setSalt
设置盐- Parameters:
salt- 盐- Returns:
- this
-
setSecret
设置可选的密钥数据,用于增加哈希的复杂性- Parameters:
secret- 密钥- Returns:
- this
-
setAdditional
- Parameters:
additional- 附加数据- Returns:
- this
-
setIterations
设置迭代次数 迭代次数越多,生成哈希的时间就越长,破解哈希就越困难- Parameters:
iterations- 迭代次数- Returns:
- this
-
setMemoryAsKB
设置内存,单位KB 内存越大,生成哈希的时间就越长,破解哈希就越困难- Parameters:
memoryAsKB- 内存,单位KB- Returns:
- this
-
setParallelism
设置并行度,即同时使用的核心数 值越高,生成哈希的时间就越长,破解哈希就越困难- Parameters:
parallelism- 并行度- Returns:
- this
-
digest
public byte[] digest(char[] password) 生成hash值- Parameters:
password- 密码- Returns:
- hash值
-