В настоящее время я изучаю безопасные аспекты Java. Конечно, одной из первых вещей, которые я посмотрел, была целая точка декодирования.
Упомянутые технологии дешифрования
Через некоторое время обучения я кое-что узнал о следующих технологиях криптографии:
- MD5
- ША
- PBKDF2WithHmacSHA1
Почему я задаю этот вопрос?
Я знаю, что грубо говоря, SHA1 безопаснее, чем MD5, причем PBKDF2WithHmacSHA1 - самый безопасный. Но теперь я должен спросить себя, почему в некоторых приложениях все еще используется шифрование, такое как MD5 или SHA1, тогда как в этом случае PBKDF2WithHmacSHA1 более безопасен? Я, конечно, осознаю, что шанс воспользоваться лучшими технологиями появляется только в редких случаях (снижение скорости перебора / риск столкновения).
Но, несмотря ни на что, время реализации немного больше, а взамен вы получаете более безопасное шифрование.
Мой последний вопрос
Короче говоря, мой вопрос заключается в том, почему не все приложения всегда используют лучшую технологию шифрования, даже если они не обязательно нуждаются в ней? Я имею в виду, что единственный недостаток заключается в том, что для его реализации требуется немного больше времени.
Дополнительно
Я не думаю, что потеря скорости является причиной, чтобы не использовать лучшие технологии шифрования.
Цель состоит в том, чтобы сделать хеш-функцию достаточно медленной, чтобы предотвратить атаки, но все же достаточно быстрой, чтобы не вызвать заметную задержку для пользователя. С здесь