Для внутреннего хеша объекта используйте hash(text), а для стабильного отпечатка содержимого — hashlib, например SHA-256 от UTF-8. Эти варианты имеют разные назначения.
Как захешировать строку в Python?
Для внутреннего хеша объекта используйте hash(text), а для стабильного отпечатка содержимого — hashlib, например SHA-256 от UTF-8. Эти варианты имеют разные назначения.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Для внутреннего хеша объекта используйте hash(text), а для стабильного отпечатка содержимого — hashlib, например SHA-256 от UTF-8. Эти варианты имеют разные назначения.
import hashlib
fingerprint = hashlib.sha256("Привет".encode("utf-8")).hexdigest()
Встроенный hash() для строк не предназначен для долговременного хранения и обычно меняется между процессами из-за рандомизации. Криптографический digest воспроизводим при одинаковых байтах, поэтому заранее определите кодировку и нормализацию. Хеш не шифрует текст и сам по себе не защищает пароль; для паролей нужны специализированные схемы хранения.