Masoud__Sh Ответов: 1

Какой алгоритм самый медленный?


Пожалуйста, помогите мне; я не могу описать, какой алгоритм лучше?

Что я уже пробовал:

Привет,
я читал эту статью:

Соленое хэширование паролей - все правильно[^]

и я понимаю, что лучший хэш-алгоритм для asp.net webforms-это PBKDF2-HMAC-SHA512
а потом получить эту реализацию:

Гитхаб - разрядить/хеширования паролей: пароль хешированный код.[^]

эта реализация основана на PBKDF2-HMAC-SHA1

я погуглил, чтобы найти что-то, что поможет мне сделать хэш на основе PBKDF2-HMAC-SHA512

и я нашел эту библиотеку на github:

GitHub-therealmagicmike/PBKDF2. NET: предоставляет адаптивную функцию получения ключей на основе паролей (PBKDF2) для платформы .NET Framework, позволяющую использовать любую систему.Безопасность.Реализация хэширования на основе HMAC, будь то встроенный тип или ваша собственная реализация.[^]
в этой библиотеке я могу определить свой хэш-алгоритм как < b> HMACSHA1< / b>, <b>HMACSHA256< / b>, < b & gt;HMACSHA384< / b> или & lt; b> HMACSHA512< / b>

и как вы знаете HMACSHA1 это быстрее, чем HMACSHA512 и это не очень хорошо по соображениям безопасности.

Но я нашел кое-что, что я не знаю, правда это или нет! я реализовал оба алгоритма на одной странице и понимаю, что алгоритм адрианса занимает больше времени, чем алгоритм Майка. и это не логично, что касается статьи адрианса.

Итак, я хочу знать, какой алгоритм самый медленный, а также Какой лучше?


любая помощь будет оценена по достоинству.
Спасибо, Масуд.

[no name]

"алгоритм лучше" - это тот, который делает то, что вы хотите. Это вам решать, а не спрашивать случайных незнакомцев в интернете, которые понятия не имеют, что вы делаете.

Masoud__Sh

Огромное спасибо!. прошу прощения за плохой допрос. да, вы правы. я уверен в использовании PBKDF2-HMAC-SHA512, но вот чего я не знаю, так это почему решение Майка, когда я использую SHA1, быстрее, чем решение адрианса в том же алгоритме, размере соли и количестве итераций? алгоритм адрианса занимает около 40 миллисекунд, а алгоритм Майка - 3 миллисекунды. и это не логично для одних и тех же ценностей.
Спасибо, Масуд

1 Ответов

Рейтинг:
0

OriginalGriff

В значительной степени SHA является "лучшим" алгоритмом для хеширования паролей, главным образом потому, что MD5 официально "сломан" и не рекомендуется для новых приложений. Это не значит, что MD5 на самом деле плох, просто есть обстоятельства, когда вы можете "перевернуть" хэш, чтобы создать "вводимый" пароль, который будет производить то же самое значение хэша MD5, что и оригинал. Однако" новый "пароль, вероятно, не будет распознан как" оригинальный".
SHA-1 в настоящее время" сломан", но не взломан, а SHA256" частично сломан", но все еще считается безопасным на данный момент. SHA512 в настоящее время надежен, так что я бы использовал его для новых проектов.
SHA-3 - это хэш "следующего поколения", но в настоящее время нет проверенной реализации для .NET, о которой я знаю.


Masoud__Sh

большое вам спасибо за ваш ответ. и я очень сожалею о плохом допросе. я отредактировал свой вопрос. я не уверен в использовании одной библиотеки между двумя библиотеками, связанными выше в моем вопросе.
Спасибо и извините, что отняли у вас время.