![]() |
Модераторы: Partizan, gambit |
![]() ![]() ![]() |
|
Ivankult |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 181 Регистрация: 8.9.2008 Репутация: нет Всего: нет |
Добрый день. Понимаю всю тупость вопроса, но уже долго не могу сам разобраться.
есть БД учетных записей. В ней надо хранить не сами пароли, а их хеши. Так я получаю хеш:
Но иногда этот кусок кода работает коректно, а иногда-вылетает с ошибкой: Недопустима длина массива знаков Base-64. Это происходит, если newPassword имеет длину меньше 4 или больше 8. А если пароль будет 12 знаков? как с этим бороться? Заранее благодарю |
|||
|
||||
jonie |
|
||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 22 Всего: 118 |
это написан бред. Зачем тут Convert.FromBase64String ? -------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
||||
|
|||||
i2m |
|
|||
Новичок Профиль Группа: Участник Сообщений: 43 Регистрация: 4.5.2010 Репутация: нет Всего: 1 |
Во первых зачем SHA256? Для этих целей есть MD5. Зачем тут вообще BASE64? Что бы запутать хеш что ли? Если да, то так не когда не делается, а вызывается повторное хеширование типа CalculateMD5Hash(CalculateMD5Hash(password))
Это сообщение отредактировал(а) i2m - 1.12.2010, 16:55 |
|||
|
||||
jonie |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 22 Всего: 118 |
i2m, md5 вообще-то вскрыт
-------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
i2m |
|
|||
Новичок Профиль Группа: Участник Сообщений: 43 Регистрация: 4.5.2010 Репутация: нет Всего: 1 |
jonie, Что значит вскрыт? Подбор по словарям что ли? Или брутфорс? Что мешает сделать свой стиль шифрования? Например вызов 10 раз вычисление MD5, полученный MD5 уже не возможно будет подобрать (Имеется ввиду если не знать точный алгоритм вычисления) и коллизии никто не отменял, 2 одинаковых хеша, не значит что было одно и тоже начальное значение. CalculateMD5Hash(CalculateMD5Hash(password) + mykey) Если не известен mykey то и не чего подобрать уже нельзя будет. А вообще это тема спорная конечно, тут все зависит от того что хочешь добиться.
|
|||
|
||||
Ivankult |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 181 Регистрация: 8.9.2008 Репутация: нет Всего: нет |
все, разобрался. Теперь выглядит так:
byte[] cryptos = ShaM.ComputeHash(Encoding.ASCII.GetBytes(newPassword)); --------------------
Стив Макконнелл: «Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете». |
|||
|
||||
![]() ![]() ![]() |
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |