Есть ли какие-либо преимущества при использовании Digest::SHA по сравнению с Digest::SHA1 или наоборот? оба, похоже, поддерживаются, но я не вижу причины, чтобы Digest :: SHA1 существовал даже с существованием Digest::SHA
.В чем преимущества Digest :: SHA over Digest :: SHA1?
ответ
Существует нет, Digest::SHA1
является наследием, равно как и SHA1
. За Документов о Digest::SHA1
:
В 2005 году недостатки безопасности были выявлены в SHA-1, а именно, что возможная математическая слабость может существовать, что указывает на более сильную хэш-функция была бы желательна. Модуль Digest :: SHA реализует более сильные алгоритмы в семействе SHA.
В нем четко указаны Digest::SHA
. Реализация в Digest::SHA
немного быстрее, чем Digest::SHA1
(по документам Digest.pm
- то, что вы, вероятно, должны использовать в любом случае).
Algorithm Size Implementation MB/s
SHA-1 160 Digest::SHA v4.3.1 58.9
SHA-1 160 Digest::SHA1 v2.10 48.8
Digest
фабрика для всех модулей в Digest
пространстве имен, он отдает приоритет Digest::SHA
над Digest::SHA1
. Вы даже можете утверждать, что Digest::SHA1
дважды устарел, поскольку он был заменен на Digest::SHA2
.
Я считаю, что, вероятно, полезно обосновать здесь термин «устаревший». Я просто хочу сказать, что Digest::SHA1
не полезен для хэшей не SHA1, которые все еще находятся в семействе SHA - другие дистрибутивы могут обрабатывать больше. Digest :: SHA1 также медленнее. Насколько мне известно, он по-прежнему поддерживается и имеет стабильный релиз не так давно: Digest-SHA1-2.13 - 3 июля 2010 - Gisle Aas
Материал, который был написан для использования Digest::SHA1::sha1
или которые (в порыве глупостей) делает "Digest::$type"->new
вместо Digest->new($type)
может понадобиться Digest::SHA1
. Помимо этого, Digest::SHA
является предпочтительным, и он будет использоваться по умолчанию для Digest->new("SHA-1")
.
- 1. perl Digest add addfile вычисляет различные SHA1 digest
- 2. Преобразование объекта Thrift в SHA1 digest
- 3. Digest :: Дайджест устарел; использовать Digest
- 4. Digest :: ША и utf8
- 5. CryptoJS.SHA1 vs MessageDigest.getInstance ("SHA-1"). Digest()
- 6. SHA256 digest in perl
- 7. Расчет SHA1 Digest или XAdES SignedProperties не работает
- 8. Рассчитать pdf-документ digest
- 9. реализация jasypt digest в PHP
- 10. Digest :: SHA1 :: hexdigest, производящий разные хэши для одной строки
- 11. install4j подписание кода с помощью sha256 digest
- 12. Perl Digest :: SHA1 не импортируется на OS X Leopard Server
- 13. LoadError: dlopen (digest/sha1.bundle): Символ не найден: _rb_Digest_SHA1_Finish
- 14. Баны BouncyCastle, дающие ошибку SHA1 Digest для JDK 1.7
- 15. $ scope.apply? $ digest уже выполняется?
- 16. TypeError: неправильный аргумент (String)! (Ожидаемый вид OpenSSL :: Digest :: Digest)
- 17. Digest ответ md5 поколение
- 18. Angular digest loop
- 19. AngularJS digest postDigestQueue
- 20. Authentication Digest Authentication
- 21. 30 char md5 digest
- 22. Digest loop in AngularJS
- 23. Computing byte range digest
- 24. Digest authentication generate 'token'
- 25. MD5 Message Digest Java
- 26. Digest :: CRC32 с Zlib
- 27. Как обернуть $ digest()?
- 28. HTTP Digest Authentication
- 29. Угловая загрузка и $ digest
- 30. Аутентификация Keystone Digest
Модуль SHA включает также алгоритмы SHA-2 ... но если вы * * все еще планируете использовать SHA-1, это действительно не аргумент в одну сторону другой. Я просмотрел документы и не видел ничего, чтобы предположить, что Digest :: SHA1 был устаревшим или устаревшим. – xenoterracide
@xenoterracid, Неправильно, это еще аргумент. Вы хотите, чтобы оба они были загружены в память, потому что какой-то другой модуль хочет реализовать хэш в том же семействе, что и не SHA1? Вы хотите зависеть от другого дистрибутива при сохранении открытых ошибок, когда он поддерживает только подмножество функциональности более нового - и при этом он делает это медленнее ** ... –
Это лучший аргумент;), в отличие от разговоров о недостатках безопасности, которые могут или не могут быть релевантными в зависимости от того, для чего вы его используете. – xenoterracide