Українська

Інструменти розробника · SHA калькулятор хешу

Як SubtleCrypto.digest Ускладнює SHA-256 Hash в браузері

· Як працює

Опубліковано ToolAcre · Рецензування журналу

шемале256 криптографія веб-сайт

UTF-8 байти в браузері SHA-256 перетравлення і залишення як шістнадцятковий
Головна ToolAcre векторна ілюстрація

Кожен сучасний браузер може хеш байтів на рідній основі через Web Crypto. This post наступні один рядок з TextEncoder через crypto.subtle.digest до хекс-дайджесту і пояснюється кожним кроком.

У випадку, коли рідний травень збиває бібліотечну бібліотеку

Ви можете розрахувати дайджест для короткого текстового значення без встановлення хеш-пакету або поштових даних на віддалений хеш-сайт. Тести crypto.subtle.digest на безпечні походження. У хеші є детермінований пальцевий відбитк байтів; він не приховує введення або довести, що його подається. ToolAcre використовує веб-переглядач, а не доставка рукопису SHA алгоритм, і зберігає рядок, що знаходиться в вкладці.

Текст не байтів — кодування входу з TextEncoder до UTF-8 перед послухом, і чому цей крок вирішує відповідь

Текст «кафе» і байти, що вміщуються в хеш, не такий же вид об'єкта. TextEncoder карти рядок до UTF-8 байти63 61 66 C3 A9 для кафе, в той час як наївна латино-1 Конверсія використовувала E9 для кінцевого персонажа і виготовляла інший дайджест. Навіть візуально ідентичний текст може мати різні форми нормалізації Unicode. Підібрати кодування та нормалізацію перед порівнянням хешів через JavaScriptй CLI і сервер. ToolAcreТекстовий режим явно виконує його UTF-8 конвертація перед подачею.

Заклик травлення — crypto.subtle.digest з ім'ям алгоритму і АрраБуффером, і чому вона повертає обіцянку

crypto.subtle.digest("SHA-256", байти) повертає Проміс, тому що криптографічна робота може бути асинхронним; очікується до читання виходу. Метод приймає весь вхідний буфер, а не потоковий ітератор. SHA-256 випромінює 256 bits (32 bytes) незалежно від того, чи мав вхід три символи або три мільйони. безпечне обмеження тексту HTTPS або Localhost необхідний для SubtleCrypto API, і інструмент передає його відсутність замість того, щоб забороти випадання.

Від ArrayBuffer до шестигранної клітки — перевернути результат байтів в 64-Визначте рядок людей

Проміс вирішує ArrayBuffer of байтів, не знайомий рядок цифр шістнадцяти. Перетворення кожного байта до двох базових16 персонажі з провідною нульою, як це потрібно, врожаю точно 64 символи нижньої колонки для SHA-256. Дане шестигранне представництво подвоює довжину 32 bytes, але не змінює травлення. Base64 може представляти той же 32 bytes більш компактно; порівняння тільки має сенс після підтвердження алгоритму, кодування вхідних даних та відповідності вихідних даних.

Працював приклад — захоплюючи короткий крок за кроком, показує байти на кожному етапі

Для ASCII текст abc, UTF-8 виробляє байти 61 62 63. SHA-256 точні байти ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad. Тестувати це в ToolAcre і інший перевірений хеш виконання: зміна abc до abc з подальшим новаліном дає різний результат. Якщо виводи розрізняються, перевіряйте прихований білий простір і байтове кодування перед підозрою на криптографічний примітив. Виявлений дайджест є відтворним тестовим вектором, не претензією, яка є секретом.

Надійні контексти — чому crypto.subtle доступна тільки на HTTPS і локальнийhost

crypto.subtle є захищеним контекстом API. Виробництво HTTPS сторінка та сторінка розвитку локальних привидів, як правило, її вигнати; звичайний вхідний HTTP Сторінка не може. Інструмент також має достатню кількість пам'яті для утримання входу та виходу. Де Web Crypto недоступний, безшумно переключення до незареєстрованого JavaScript Забезпечити надійний результат безпеки, що залежить від іншої реалізації. Неймовірно оберіть захищене середовище.

Що це не кришка — зашифрована хеш (HMAC) і пригнічення дуже великих вводів, які однознімний травень API не передбачено

Одноразовий травень API не є непристойним хешуванням для величезних файлів. SHA-256 це не схема зберігання пароля: швидко незрівняні хеши роблять здогадувати дешево, тому зберігання пароля потребує цілеспрямованого, засоленого, навмисно KDF. SHA-1 може бути відображена для міжоперабельності спадщини, але її стійкість до зіткнень і це не хороший вибір для нових систем доброчесності або підпису. HMAC є ключовою автентифікацією, не такою ж операцією, як перетравлення неоцінених байтів.

Ведуться: браузер вже має функцію хешу — ToolAcre SHA hh калькулятор використовує точно це API, так що його вихід є власним браузером

У браузері вже передбачено SHA-256: закодувати текст як байти, чекати травлення, потім форматувати його результат для порівняння. ToolAcre SHA hh калькулятор слідувати за те, що шлях для заданого тексту та етикеток SHA-1 як legacy-only. Порівняйте abc з відомим результатом спочатку, після чого має фактичний нечутливий матеріал, байти якого і кодування ви розумієте.