Считает CRC32, MD5, SHA-1, SHA-224, SHA-256, SHA-384, SHA-512 или SHA3-256, SHA3-384, SHA3-512 для текста или файла. Текст берётся в выбранной кодировке, файл — сырыми байтами. Ключ даёт HMAC, кроме CRC32.
Контрольная сумма, а не место для пароля
Один и тот же вход даёт одну сумму, изменённый бит её ломает. Так проверяют загрузку или смотрят, совпадают ли два файла, не пересылая их. MD5 и SHA-1 не держат коллизии. SHA-256 годится как проверка и слишком быстр, чтобы хранить пароль. Для пароля нужны bcrypt или Argon2. Эта страница этого не изображает.
От чего меняется сумма
Текст берётся в выбранной кодировке, по умолчанию UTF-8. Перевод строки в конце, \r\n против \n, меняет сумму. Файл берётся байтами и кодировку не смотрит. Ключ HMAC остаётся UTF-8.
Пустой ключ — обычный хеш, не HMAC с пустой строкой.
Регистр шестнадцатеричной записи при сверке не важен.
SHA-384 и SHA-512 считаются на https или localhost. CRC32, MD5, SHA-1, SHA-224, SHA-256 и SHA3-256, SHA3-384, SHA3-512 считает сама страница. CRC32 не принимает ключ HMAC.
SHA-256 от hello без перевода строки начинается с 2cf24dba. Иначе в поле есть невидимый пробел. Байты: строка в байты. Вернуть текст можно через Base64, не через хеш.