我正在完成登录GUI并且一直使用BCrypt
加密String
密码。在阅读了getText()
方法为not recommended for security reasons的弃用警告后,我决定使用getPassword()
代替。但是,您可能知道,它将密码作为char[]
数组返回。如何通过将密码转换为可在内存中访问的char[]
,将BCrypt
数组传递到String
而不影响安全性?
以下是BCrypt
课程:org.mindrot.jbcrypt.BCrypt
答案 0 :(得分:0)
您可以像这样使用Password4j:
char[] password = passwordField.getPassword();
SecureString secure = new SecureString(password);
Password4j.hash(secure).withBCrypt();
// Clear the SecureString object
secure.clear();
您可以找到有关SecureString
s here的更多信息。