Генератор на SHA3-256
Изчислете хеша SHA3-256 на произволен текст със стандарта SHA-3, базиран на Keccak и описан във FIPS 202. Инструментът кодира входните данни като UTF-8 и връща дайджест от 256 бита като 64 шестнадесетични символа или като Base64. Полезен е за разработчици, които се нуждаят от SHA-3 дайджести за протоколи, тестови данни и проверки за цялост, или искат да сравнят резултатите с друга SHA-3 библиотека.
Често задавани въпроси
Какво е SHA3-256?
SHA3-256 е хеш функция от стандарта SHA-3, FIPS 202, изградена върху конструкцията Keccak sponge. Тя генерира дайджест от 256 бита, представен с 64 шестнадесетични символа. Вътрешният ѝ дизайн е напълно различен от този на SHA-2.
Същият ли е SHA3-256 като Keccak-256, използван от Ethereum?
Не. Ethereum използва оригиналното предложение Keccak-256, което допълва входните данни по различен начин от окончателния стандарт SHA-3. Двата варианта дават различни дайджести за един и същ текст. Този инструмент изчислява стандартизирания SHA3-256 от FIPS 202.
Какви са тестовите вектори за SHA3-256?
Хешът на празния низ е a7ffc6f8bf1ed76651c14756a061d662f580ff4de43b49fa82d80a4b80f8434a. Хешът на текста abc е 3a985da74fe225b2045c172d6bd390bd855f086e3e9d525b46bfe24511431532. И двата съвпадат с примерите на NIST.
Защо да изберете SHA-3 вместо SHA-256?
SHA-3 предлага резервен вариант, ако някога бъде открита слабост в SHA-2, тъй като двата алгоритъма нямат общи елементи в дизайна си. Освен това е устойчив на атаки с удължаване на дължината. SHA-256 остава сигурен и се поддържа по-широко, затова изберете SHA-3, когато спецификация го изисква.
Как се обработват входните ми данни?
Текстът ви се кодира като UTF-8 и се хешира байт по байт. Всеки интервал и нов ред има значение. Изчислението се изпълнява във WebAssembly на сървъра, а входните данни не се съхраняват.
Каква е разликата между изходите hex и Base64?
И двата кодират един и същ 32-байтов дайджест. Hex използва 64 малки символа, докато Base64 изисква 44 символа, включително един знак за допълване. Използвайте формата, очакван от вашия код или документация.
Може ли SHA3-256 да бъде обърнат?
Не. SHA3-256 е еднопосочна функция, така че оригиналният текст не може да бъде изчислен от дайджеста. Кратки или често срещани входни данни все пак могат да бъдат отгатнати чрез изпробване на възможни варианти, затова никога не приемайте хеш на лесно отгатваема стойност за тайна.
Подходящ ли е SHA3-256 за пароли?
Не и самостоятелно. Той е бърз, затова нападателите могат да изпробват много предположения в секунда. Вместо това използвайте функция за хеширане на пароли като Argon2, bcrypt или scrypt.
Каква е максималната дължина на текста?
Инструментът приема до 5 MiB текст на заявка. По-дълги данни или двоични файлове е по-добре да хеширате локално, например с openssl dgst -sha3-256.
Дава ли SHA3-256 един и същ резултат навсякъде?
Да. Всяка коректна имплементация връща един и същ дайджест за едни и същи байтове. Ако два инструмента не съвпадат, причината почти винаги е различно текстово кодиране, нов ред в края или объркване с варианта Keccak, описано по-горе.