непатентированный алгоритм одностороннего шифрования [закрыт]
-
09-06-2019 - |
Вопрос
Я ищу простой непатентированный алгоритм одностороннего шифрования, предпочтительно на c.Я хотел бы использовать его для проверки паролей.
Решение
SHA-1 и остальные члены его семейства были запатентованы правительством США, которое "выпустило патент по безвозмездной лицензии".Множество реализаций, являющихся общественным достоянием можно найти через Google. :-)
Другие советы
Правильное название "алгоритма одностороннего шифрования" - "алгоритм хеширования" (вы имели в виду способ "зашифровать" пароль так, чтобы его никогда нельзя было восстановить, верно?)
Не используйте md5 в современных приложениях, успешные атаки на него наблюдаются с 2004 года (см. http://www.doxpara.com/md5_someday.pdf для справок).Используйте семейство SHA.
На самом деле использования хэша недостаточно.вы должны использовать соль ограничить их можно и более совершенной техникой, такой как bcrypt - шифрование ограничивает возможности угадывания пароля
просто используйте функцию crypt(3)
вот этот предыстория
SHA-1 кажется хорошим предложением, или, если вы считаете, что SHA-1 близок к взлому, один из семейства SHA-2.
Вам может показаться, что MD5 недостаточно "безопасен".
MD5 пока меня вполне устраивал.
MD5 и SHA512 (или другой вариант SHA-2) имеют выявленные в них теоретические уязвимости.Я не думаю, что SHA еще не был продемонстрирован как сломанный, но возможность владения существует.Whirlpool - это бесплатный хэш-алгоритм, который (пока) не показал никаких недостатков.Эта страница имеет ссылку на эталонную реализацию на языке Си.
Почему MD5 или SHA1 у вас не работают?
/Аллан