1
와 문자열 :Comparate SHA-256 문장 나는 두 문자열을 비교하려면
"password"
"5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8"
(동일하지만, SHA-256에서).
일반적으로는 기능 isPassValid()
나에게 true
를 반환합니다,하지만 난 false
응답이있다. 왜 ?
public static boolean isPassValid(){
String hash = bin2hex(getHash("password"));
return hash.equals("5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8");
}
private static byte[] getHash(String password) {
MessageDigest digest=null;
try {
digest = MessageDigest.getInstance("SHA-256");
} catch (NoSuchAlgorithmException e1) {
e1.printStackTrace();
}
assert digest != null;
digest.reset();
return digest.digest(password.getBytes());
}
private static String bin2hex(byte[] data) {
return String.format("%0" + (data.length*2) + "X", new BigInteger(1, data));
}
덕분에 지금 사용하고 있습니다 **. toUpperCase() ** –
좋은 캐치 .. :) –