Здравствуйте, подскажите пожалуйста, как правильно реализовать хэширование пароля на python. Когда на Java и Php все верно.
Суть в том, что java и php совпадают хэши, а на python с тем же значением: "111111" - выдает другой хэш
Код на java:
public static String encodePassword(String password) {
try {
MessageDigest messageDiegest = MessageDigest.getInstance("SHA-256");
messageDiegest.update(password.getBytes("UTF-8"));
return Base64.encodeToString(messageDiegest.digest(), false);
}
catch (NoSuchAlgorithmException e) {
System.out.println("Exception while encoding password");
throw new Error(e);
}
catch (UnsupportedEncodingException e) {
System.out.println("Exception while encoding password");
throw new Error(e);
}
}
Код на php:
$password = trim($pass1);
$password = base64_encode(sha1($password, true));
Код на Python:
digest = hmac.new(bytes(ps, 'UTF-8'), msg=None, digestmod=hashlib.sha256).digest()
signature = base64.b64encode(digest).decode()
print(signature)
На java и php - выдает нужный мне хэш пароля "111111" - vLFfghR5tNV3K9DKhmwArV + SbjWAcgZZzIDTnJ0JgCo =
На python же выдает хэш того же пароля "111111" - 3EMl1xMKvwzg0nLFPbOdYZtAKH / cWN964EjE18KiRkw =