WeRn-rm
@WeRn-rm
Диванный разработчик

Почему не совпадают SHA-256 методами java, python, php?

Здравствуйте, подскажите пожалуйста, как правильно реализовать хэширование пароля на 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 =
  • Вопрос задан
  • 1221 просмотр
Решения вопроса 1
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы