Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.01.27;
Скачать: CL | DM;

Вниз

Как делаются пароли?   Найти похожие ветки 

 
Dr.Karter ©   (2003-01-13 11:25) [0]

Я хочу знать где можно - нужно хранить информацию пароля(чтобы юзер не знал)
чтобы потом сделать проверку.
Дайте пример паролевой программки.


 
Dr.Karter ©   (2003-01-13 11:25) [1]

Я надеюсь меня поняли.


 
RWolf   (2003-01-13 11:27) [2]

Сохраняй, где удобно, в зашифрованном виде.


 
vuk ©   (2003-01-13 11:42) [3]

Поступайте так, как делается в системах аутентификации в различных ОС - не храните их вообще. Вместо паролей можно хранить их хеш-коды и при проверке просто вычислять хеши по введенным данным и сравнивать с хранимыми значениями.


 
Novice ©   (2003-01-13 11:43) [4]

Вместо пароля удобно хранить хеш от пароля (напр., MD5) - не видно длину и расшифровать - только перебором, и прятать не надо.


 
smok_er   (2003-01-13 11:45) [5]

Зачем все усложнять...
Я не думаю, что речь идет о какой-то супер системе.
Достаточно просто шифровать пароли обычным сдвигом на несколько байт, и, при желании, добавить зависимость от длины пароля.

Если пароль сгенерированный, то подобрать врядли получится.


 
Dr.Karter ©   (2003-01-14 08:54) [6]

А можно как-то создавать невидемый файл в той-же папке где расположена программа.
Если можно, то как и будет ли файл невидемый при переносе с одной машины на другую.


> Сохраняй, где удобно, в зашифрованном виде

Что значит в зашифрованном виде?
> Novice © (13.01.03 11:43)
> Вместо пароля удобно хранить хеш от пароля (напр., MD5)
> - не видно длину и расшифровать - только перебором, и прятать
> не надо.


И что такое хеш?


 
A2   (2003-01-14 09:19) [7]

Парень!
А сколько часов всего-то ты занимаешься программированием - и сразу за программу с паролями!!!
Разберись сперва с азами.


 
Сергей Зимин   (2003-01-14 09:29) [8]

Вот здесь реализация алгоритма MD5
http://www.fichtner.net/delphi/md5/
Немного упростив - Хеш это контрольная сумма
Хеш двух различных строк (хоть на 1 бит) различен.


 
Спрашивающий   (2003-01-14 09:42) [9]

Все зависит какой степени защита требуется, если от Чайника то вообще ничего прятать и шифровать не надо он порой не может запустить ну например Word. Если программа расчитана на широкий круг ничего не видимого и зашифрованного(100%) не сделаешь, "умельцы" все сломают,хотя я думаю что в данном случае шифровать и прятать надо, ну хотя бы для того чтобы усложнить взлом .


 
Rater2 ©   (2003-01-14 10:02) [10]

ХЕШ хорош при работе с вводимыми паролями,
а для хранения паролей для посылки куда-то (например аутентификациа в инет).
Для шифровки паролей наиболее простой метод XOR & ротация битов
для бешеной шифровки можно конечно PGP попробовать но хранить то придется всё и приватный и публичный ключ, так что ....


 
Anatoly Podgoretsky ©   (2003-01-14 10:16) [11]

А так как хранятся оба ключа, то нет нужды использовать ассиметричные ключи, достаточно симметричного, просто без разницы


 
Chubais ©   (2003-01-14 10:27) [12]

ААААААААААААААААААА!!!!!!!!!!!!!!!


 
Сергей   (2003-01-14 11:57) [13]

Доктор Картер. Я смотрю здесь тебе много советчиеов нашлось, которые считают себя величайшими криптографами. Не будем их разубеждать, но скажем, что читать их писанину весьма смешно. Молодцы!
Вот тебе кратко что такое Хэш-Функция. Это такая функция, зная значение которой невозможно определить её аргумент. То есть, если известно f(x), то x - нельзя определить. Например, функция mod (остаток)!
1 mod 3 = 1
2 mod 3 = 2
3 mod 3 = 0
4 mod 3 = 1
5 mod 3 = 2
.......... и т.д. То есть зная что (х mod 3) = 2 , мы не можем определить х, так как он может быть = 2,5,... Вот это и есть простейшая ХэшФункция. В реальных программах/алгоритмах используется не число 3, о большие (>64бит) простые числа.
Тебе же советую сделать файл в этом же каталоге например UserPassword.pwd, и все пароли которые будут использоваться хранить там в отдельной строке, причем не сами пароли, брать от каждого символа пароля отдельно байт/символ высчитывать его (mod 97) и + 101010101010.
Потом когда юзер будет вводить пароль, ты с ним (паролем) провернёшь вышеуказанные вычисления и сравнишь с тем, что есть в файле!
Надеюсь - помог!


 
Reindeer Moss Eater   (2003-01-14 12:02) [14]

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


 
mrcat ©   (2003-01-14 12:27) [15]

=)))))))


 
vuk ©   (2003-01-14 13:01) [16]

Блин, если это хеш то я уж и не знаю...
В принципе, хеш функция должна обладать тем свойством, что результаты вычислений для разных блоков данных имеют одинаковую длину и изменения в одном бите исходных данных ведут к изменениям более чем одного бита в результирующем значении хеш-функции.


 
Reindeer Moss Eater   (2003-01-14 13:06) [17]

vuk, в 11:57 было сказано новое слово в криптографии. А мы не заметили :)))


 
Dr.Karter ©   (2003-01-14 15:32) [18]

А как насчет невидимого файла? Можно ли делать такие
Тебе Сергей СПАСИБО

A2 (14.01.03 09:19)

Я не знаю сколько ты за этим непростым делом, но что касается меня то за мной много программ, и единственный способ к познанию
учиться, что не когда не поздно!
За рекомендациями обращаться к Литвинову Илье Николаевичу по адресу: nsk_school_163@list.ru Меня зовут Денисов Игорь А.
или просто Dr.Karter! Милости Прошу!!!


 
Dr.Karter ©   (2003-01-14 15:34) [19]


> A2 (14.01.03 09:19)

А Если я чего не знаю, то я учусь, благодаря Мастера DELPHI-
Спасибо вам!


 
les ©   (2003-01-14 16:05) [20]

> Dr.Karter © (14.01.03 15:34
> А Если я чего не знаю, то я учусь

Молодец! Хочу подарить тебе ключ к любому познанию, держи:

RTFM, STFW.


 
Sha ©   (2003-01-14 22:47) [21]

2 Сергей (14.01.03 11:57)

:)


 
MXA   (2003-01-15 00:05) [22]

2 Сергей (14.01.03 11:57)

:(

и вообще
>...Это такая функция, зная значение которой невозможно определить её аргумент...
не правда

2 Dr.Karter © (14.01.03 15:32)
>А как насчет невидимого файла? Можно ли делать такие
на устройстве nul :)
и как бы ты хотел увидеть такой файл?
а чайник не увидит и файл с аттрибутом "скрытый"

по-моему стоит или придумать свой "оригинальный" алгоритм/способ
хранения паролей, стойкость которого и будет состоять в том,
что он не известен, или изучать (не по форумам) известные
теоретически стойкие алгоритмы.



 
vuk ©   (2003-01-15 01:24) [23]

to MXA
>не правда
Я бы сказал, это не вся правда, а точнее её часть. В принципе, хеширование - алгоритм отображения одного множества значений на другое, обычно меньшее. И поскольку второе множество значений меньше, то точно определить элемент первого множества не получится.


>по-моему стоит или придумать свой "оригинальный"
>алгоритм/способ хранения паролей, стойкость которого и будет
>состоять в том, что он не известен
Для более или менее серьезных применений такой подход не годится. Да и уже давно известно - самые надежные алогритмы шифрования - те, алгоритмы которых известны всем и хорошо изучены.

>или изучать (не по форумам) известные
>теоретически стойкие алгоритмы.
Вот это есть правильно! А вообще сочетание хранения хешей вместо паролей и шифрования даст хорошоший эффект.





 
mrcat ©   (2003-01-15 04:01) [24]

vuk © (15.01.03 01:24)
...
то точно определить элемент первого множества не получится.
...


собственно определять нет никакого смысла, ибо находится посредством поиска коллизий


 
anatolyk   (2003-01-15 10:07) [25]

Народ, а что если для защиты применить след. способ.
На машине юзера создается файл, зашифрованный с каким-то паролем, напр. номером дистрибутива + s/n винта (С)+ какие-либо действия с этими числами (или строками) и т.п. Этот файл создается отдельной программой при установке (лично я установки делаю сам, и программа-инсталятор всегда со мной. Бабки, все-таки.8)). Сам файл можно разместить, напр. в каталоге Windows (GetSystemDirectory) и дать ему имя, напр. device.sys

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

Для чайника вполне годится.


 
Reindeer Moss Eater   (2003-01-15 10:15) [26]

>anatolyk
А каково назначение такой защиты?


 
mrcat ©   (2003-01-15 10:18) [27]

anatolyk (15.01.03 10:07)
...
На машине юзера создается файл, зашифрованный с каким-то
...


http://www.pgp.com/


 
ZeroDivide ©   (2003-01-15 10:36) [28]

Хотел даже что-то написать сначала, но потом передумал. Я просто в истерике от ваших реплик. Не знаю мне смеяться или плакать. Сперва я смеялся.
Нужно проводить долгий ликбез.
Но в общем скажу все таки кратко:
1 Криптография и защита программ от взлома это 2 разные вещи.
2 Современные криптографические алгоритмы взломать нереально.
3 Программу нельзя защитить от взлома. Даже если она защищена
современными криптографическими алгоритмами, то она будет ломаться на 5 минут дольше. (а может и быстрее)

Известно ли вам уважаемые "защитники программ", "собиратели серийных номеров винчестеров", что как правило все ваши старания
отключаются изменением всего 2-х маленьких байтиков на 90h - No Operation?
И все :(


 
Anatolyk   (2003-01-15 11:45) [29]

To: Reindeer Moss Eater
Назначение - просто затруднить перенос проги.


 
Anatolyk   (2003-01-15 11:50) [30]

То: Zero...
Это и ежу понятно. Но вопрос был задан, и если можно чем-то помочь, то почему бы нет? Здесь же не идет речь о создании абсолютной защиты. А для того, чтобы изменить те же 2 байтика, тоже надо кое-что знать.


 
anaTolik   (2003-01-15 11:55) [31]

Да и еще. В зашифрованном файле может храниться инфа о юзере.
тогда смысл использовать прогу, которая в отчетах, или на экране постоянно будет напоминать о ком-то добром и далеком.


 
Reindeer Moss Eater   (2003-01-15 12:01) [32]

Anatolyk (15.01.03 11:45)
To: Reindeer Moss Eater
Назначение - просто затруднить перенос проги.


У тебя один единственный легитимный пользователь сможет поиметь неограниченное количество копий приложения на всех компьютерах планеты. (У него есть зашифрованный файл и правильный пароль к нему)



 
anaTolik   (2003-01-15 12:17) [33]

Не совсем. Я же ВЫЧИСЛЯЮ его при каждом запуске. В готовом (в том числе зашифрованном) виде он нигде не хранится. Прога, вычислив пароль, пытается открыть файл и получить из него данные - и все. Если комп другой, то и пароль будет вычислен другой. Поэтому хотя бы данные будут искажены.


 
Reindeer Moss Eater   (2003-01-15 12:22) [34]

Полет мысли не понят.
Я - легитимный юзер. И у меня есть файл и пароль к нему.
Беру все это с собой и несу куда-то. Заменяю аналогичный файл на другом рабочем месте и работаю на двух местах с одним паролем.


 
anaTolik   (2003-01-15 12:34) [35]

1.Я пришел. Установил прогу. Напр., с дискеты запустил свой crack, который создал файл, вычислив пароль для этой машины. Забрал дискету. Ушел.
2.Умный (не через чур, а вмеру) перец пришел. Скопировал все на др. комп. Запустил прогу. Она вычислила пароль (используя комбинацию SN харда и пр.) уже для этого компа. С этим паролем попыталась открыть файл. И, сам скажи, что будет? Пароль-то другой.
Я еще раз говорю - пароля как такового нет. Программа сама его высчитывает и даже не надо его у юзера запрашивать.
Может, я термин пароль неправильно употребил?


 
mrcat ©   (2003-01-15 12:54) [36]

anaTolik (15.01.03 12:34)
и что прикажете делать юзеру, заменившему, например винт?


 
anaTolik   (2003-01-15 13:00) [37]

Ну,если ты - крутой перец, то наверное, забъешь в код проги однажды вычисленный пароль, и отключишь его расчет. Причем для всех процедур, и м.б. DLL.
Тогда - да...


 
Kruger ©   (2003-01-15 13:03) [38]

Набить морду человеку, который сделал привязку к харду.
Лучше использовать шифрование. Однозначно. Ссылок народ накидал уйму, см выше. А вообще я бы посоветовал сделать свой шифровалшик. Тогда алгоритм шифрования будет уникальным и сломать его будет труднее.


 
anaTolik   (2003-01-15 13:04) [39]

to: mrcat

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

вариант: придумать передачу какого-нибудь кода и ответа на него. Но это слабо, т.к. процедура регистрации будет находиться на компе клиента.


 
Reindeer Moss Eater   (2003-01-15 13:07) [40]

Святая наивность. (про "взять бабки за вызов") :)



Страницы: 1 2 вся ветка

Текущий архив: 2003.01.27;
Скачать: CL | DM;

Наверх




Память: 0.57 MB
Время: 0.015 c
7-87160
opoloXAI
2002-11-07 15:53
2003.01.27
Блокировка компьтера


3-86699
Sherbacov
2003-01-09 12:36
2003.01.27
Денежные поля


14-87124
Оливейра
2003-01-09 20:54
2003.01.27
Как же конструируется и инициализируется объект в Object Pascal


6-87000
RGG
2002-11-27 13:29
2003.01.27
Помогите примером


1-86812
simka
2003-01-19 00:37
2003.01.27
вопрос по memo