私はSHA-1からSHA-512に変更してセキュリティを強化しようとしていますが、変更の方法を完全には明確にしていません。SHA-1からSHA-512への変更
これは、SHA-1との私の方法です:
public static String sha1Convert(String password) {
try {
MessageDigest crypt = MessageDigest.getInstance("SHA-1");
crypt.reset();
crypt.update(password.getBytes("UTF-8"));
return byteToHex(crypt.digest());
} catch (NoSuchAlgorithmException | UnsupportedEncodingException ex) {
Logger.getLogger(UserLoginManaged.class.getName()).log(Level.SEVERE, null, ex);
return null;
}
}
これは私がやっている方法であるが、そのは完全に良い取り組んであれば、私はわからない(ので、私は何か間違ったことをやっている場合、私は申し訳ありません)。私はsha-1をsha-512に変更していますが、私のアプリケーションにログオンしようとすると、パスワードが間違っていることがわかります。だから私は方法が間違っているかどうか、あるいは私がただ何かについて無知であるかどうかはわかりません。
public static String sha512Convert(String password) {
try {
MessageDigest sh = MessageDigest.getInstance("SHA-512");
sh.reset();
sh.update(password.getBytes());
StringBuilder sb = new StringBuilder();
for (byte b : sh.digest()) sb.append(Integer.toHexString(0xff & b));
return sb.toString();
} catch (NoSuchAlgorithmException e) {
Logger.getLogger(UserLoginManaged.class.getName()).log(Level.SEVERE, null, e);
throw new RuntimeException(e);
}
}
SHA-512に変更する唯一の理由は、セキュリティが向上しているわけではありません。しかしそれはただのものだった。まだコメントありがとう – Lea