Увійти Реєстрація
Блог Серії
Кар'єра
Вакансії Компанії
Навчання
Документація Співбесіди Тестування Відео
Екосистема
Пакети Ресурси Проєкти Інструменти Події
Інше
Про нас

Хеші SHA

Порахувати SHA-1, SHA-256, SHA-384 або SHA-512

Дані не залишають ваш браузер

Цей інструмент повністю працює на вашому пристрої: обчислення виконує JavaScript у вкладці. Ми не надсилаємо введений текст на сервер, не зберігаємо і не логуємо його. Можете сміливо працювати з робочими даними - і навіть відключити інтернет після завантаження сторінки.

Результат

Поділитись

Що робить хеш-функція

Хеш перетворює будь-який обсяг даних на рядок фіксованої довжини. Та сама вхідна строка завжди дає той самий результат, а найменша зміна - зовсім інший.

Головна властивість: операція незворотна. З хеша не можна відновити початкові дані - це не шифрування, і «розхешувати» нічого не можна.

Де це використовується

  • Контроль цілісності: чи не пошкодився файл при завантаженні.
  • Дедуплікація: два файли з однаковим SHA-256 - однакові.
  • Кеш-ключі: хеш від параметрів запиту як ідентифікатор.
  • Підписи вебхуків: у парі з секретом, але це вже HMAC.
  • ETag у HTTP: хеш вмісту як версія ресурсу.

Чого робити не можна

Не зберігайте паролі як SHA-256. Хеш-функції загального призначення навмисно швидкі: сучасна відеокарта перебирає мільярди варіантів на секунду. Для паролів потрібен bcrypt або Argon2 - вони повільні за задумом.

Не використовуйте MD5 і SHA-1 там, де важлива безпека. Для обох існують практичні колізії: можна підібрати два різні документи з однаковим хешем. Для перевірки цілісності некритичних даних вони ще годяться, для підписів - ні.

SHA-256 - розумний вибір за замовчуванням. SHA-512 не «безпечніший» у побутовому сенсі, але на 64-бітних процесорах часто швидший.

У PHP

hash('sha256', 'Привіт');
hash_file('sha256', $path);          // великий файл, без читання в пам'ять

// Порівняння хешів - тільки так, у сталий час.
// Звичайне === вразливе до timing-атак.
hash_equals($expected, $actual);
// Перелік доступних алгоритмів на вашому PHP
hash_algos();

У Laravel

// Кеш-ключ від складних параметрів
$key = 'search.' . hash('sha256', serialize($filters));

Cache::remember($key, now()->addHour(), fn () => $this->search($filters));
// Пароль - НЕ hash(), а Hash-фасад (bcrypt під капотом)
$user->password = Hash::make($request->password);

if (Hash::check($request->password, $user->password)) {
    // ...
}

Цей інструмент рахує хеш у вашому браузері через Web Crypto API, тому введений текст нікуди не надсилається. MD5 у Web Crypto відсутній навмисно - саме через свою ненадійність.