1.pom文件
<dependency>
<groupId>de.mkammerer</groupId>
<artifactId>argon2-jvm</artifactId>
<version>2.4</version>
</dependency>
2.工具类
public class Argon2PasswordEncoder {
private static final Argon2 ARGON2 = Argon2Factory.create();
private static final int ITERATIONS = 2;
private static final int MEMORY= 65536;
private static final int PARALLELISM = 1;
public String encode(CharSequence rawPassword) {
final String hash = ARGON2.hash(ITERATIONS, MEMORY, PARALLELISM, rawPassword.toString());
return hash;
}
public boolean matches(CharSequence rawPassword, String encodedPassword) {
return ARGON2.verify(encodedPassword, rawPassword.toString());
}
public static void main(String[] args){
Argon2PasswordEncoder passwordEncoder=new Argon2PasswordEncoder();
String hashedPassword=passwordEncoder.encode("123456");
System.out.println(passwordEncoder.matches("123456",hashedPassword));
}
}