<? phpukraine ІНСТРУМЕНТИ
Пошук по платформі

Генератор хешів md5, sha1, sha256, sha512

Рахує пʼять хешів одного тексту одразу, у браузері. Для паролів не підходить, і нижче написано чому.

У БРАУЗЕРІ ФОРМА → РЕЗУЛЬТАТ
РОБОЧА ЗОНА
ЩО РОБИТЬ

Рахує контрольну суму, не відкриваючи термінал

Перевірити контрольну суму завантаженого файлу, порахувати ключ кешу, порівняти підпис вебхука з документацією. Інструмент рахує md5, sha1, sha256, sha512 і crc32 одного й того самого тексту одразу таблицею, кожен копіюється окремо. Усе в браузері.

ЯК ЦЕ ПРАЦЮЄ В PHP

Одна функція hash приймає назву алгоритму й дані; md5 і sha1 мають окремі функції для зручності, crc32 повертає число. hash_file рахує хеш файлу потоково, hash_hmac додає секрет, hash_equals безпечно порівнює два хеші. Список алгоритмів на сервері дає hash_algos().

echo hash('sha256', 'phpukraine');
// 6d7f… 64 символи hex

echo hash_file('sha256', 'release.tar.gz');   // без завантаження файлу в памʼять

$signature = hash_hmac('sha256', $payload, $webhookSecret);
if (! hash_equals($signature, $request->header('X-Signature'))) {
    abort(403);
}
ОБЕРЕЖНО

Жоден із цих алгоритмів не підходить для паролів: вони швидкі, а для паролів потрібна повільна функція із сіллю. Для паролів є password_hash з bcrypt чи argon2id. md5 і sha1 ще й криптографічно зламані: колізії для них будуються за хвилини, тому вони годяться лише як контрольна сума для нечутливих даних.

ПИТАННЯ

Що питають про цей інструмент

Для ключів кешу, ETag, дедуплікації файлів, де ніхто не намагається підібрати колізію навмисно. Він короткий і швидкий. Але для підпису запитів, перевірки цілісності завантажень чи будь-чого, де є зловмисник, беріть sha256.

ДАЛІ ПО ТЕМІ