![]() |
|
|
#1
|
|||
|
|||
![]() привет всем! как сделать чтоб пароль можно было изменить (как на сайтах или в windows и т.д) т.е чтоб изменить пароль надо ввести старый
|
#2
|
||||
|
||||
![]() Я в своей одной проге хранил хеш пароля.
Тогда вводишь старый, он хешируется, сравнивается с тем, что есть, и если совпадает - то пишем новый. Для хеша можно юзать стандартные вещи (MD5 например), а можно замутить какой-нить бред из серии Код:
hash:=byte(s[1])^5+byte(s[2])^3-byte(s[3])^2-byte(s[4])^5... "Чем бредовее будет ваш алгоритм, тем меньше шансов подобрать пароль и тем меньше будет в нем коллизий..." jmp $ ; Happy End! The Cake Is A Lie. Последний раз редактировалось Bargest, 13.12.2010 в 18:41. |
#3
|
||||
|
||||
![]() Цитата:
Какой вопрос, такой и ответ. Цитата:
Меня греют ваши плюсы к моей репутации... Последний раз редактировалось BoRoV, 13.12.2010 в 18:48. |
#4
|
||||
|
||||
![]() Понятное дело. Яркий тому пример:
Код:
hash := a[1]^2+a[2]+a[3]^2+a[4]+... Однако если не нужна ХОРОШАЯ защита, и лень думать, то можно и че-нить простенькое написать. jmp $ ; Happy End! The Cake Is A Lie. |
#5
|
||||
|
||||
![]() Еще одна простецкая система:
"Товарищи математики доказали теорему, что простейший шифр цезаря не вскрывается никак, кроме подбора." Берем, прошиваем в программу константу типа такой Код:
const pass='18 yn*&TYN(*@&M w42-3-3vl;mcxsrer'gk":%"OJEIJ'; Опять же, элементарно вскрывается дизассемблированием или анализом строки, но от глаз юзверей этого за глаза и за уши) jmp $ ; Happy End! The Cake Is A Lie. |
#6
|
||||
|
||||
![]() Насколько помню со студенческих год, то обратить цезаря можно. Могу ошибаться.
Дай его рализацию, если не затруднит. Меня греют ваши плюсы к моей репутации... |
#7
|
||||
|
||||
![]() Код:
j:=1; for i:=1 to length(s) do begin s[i]:=s[i] xor pass[j]; // в стандартном алгоритме вместо XOR'а стоит +, но с XOR прикольнее inc(j); if j>length(pass) then j:=1; end; jmp $ ; Happy End! The Cake Is A Lie. |