Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

храним пароль


Dennis I. Komarov ©   (2010-11-10 12:36:00) 

В проге нужно хранить пассворд. Не хеш, а оригинал, так как нам придется его передавать для авторизации. Его надо гдем-то хранить. Хранить в открытом виде не айс, т.е. надо его чем-то зашифровать. Не особо мудрствуя будем его xor-ить. Так вот, все выше описанное, дабы исключить "подозрительные вопросы".
Теперь вопрос: как нам получить некий системный хеш пароля текущего юзверя? (для чего думаю догадались)


Anatoly Podgoretsky   (2010-11-10 16:37:00) [1]


> Откуда у тебя такой ксор? :)

В долг взял


Dennis I. Komarov   (2010-11-10 16:00:00) [2]


> Медвежонок Пятачок ©   (10.11.10 15:45) [14]

Монстр - это не десяток строк, а то что они вызовут...


Медвежонок Пятачок   (2010-11-10 15:45:00) [3]

Откуда у тебя такой ксор? :)

ну я же не спрашиваю почему десяток строк - это у тебя монстр


Anatoly Podgoretsky   (2010-11-10 15:43:00) [4]

> Dennis I. Komarov  (10.11.2010 14:49:10)  [10]

А без крипто АПИ вероятнее это ничего не будет стоить.


Dennis I. Komarov   (2010-11-10 15:08:00) [5]


> Медвежонок Пятачок ©   (10.11.10 14:51) [11]


> три - четыре десятка

Откуда у тебя такой ксор? :)

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


Медвежонок Пятачок   (2010-11-10 14:51:00) [6]

ну если один десяток строк на криптоапи - это монстр, то пиши свои три - четыре десятка строк ксора.


Dennis I. Komarov   (2010-11-10 14:49:00) [7]

Да вот в CryptoAPI я и не хотел лезть, отсюда и XOR выскочил. Ну монстр получиться, хоть и правильный :)


Медвежонок Пятачок   (2010-11-10 14:34:00) [8]

Я правильно понял твою мысль:
pass xor {privatersakey} ?


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

через например CryptEncryptMessage (если использовать простые высокоуровневые функции криптоапи)


Anatoly Podgoretsky   (2010-11-10 13:51:00) [9]

> Dennis I. Komarov  (10.11.2010 13:10:06)  [6]

http://msdn.microsoft.comправда там стало трудно искать, да и тема не
простая.


Dennis I. Komarov   (2010-11-10 13:35:00) [10]


> Медвежонок Пятачок ©   (10.11.10 12:54) [5]

Я правильно понял твою мысль:
pass xor {privatersakey} ?


Dennis I. Komarov   (2010-11-10 13:10:00) [11]


> Медвежонок Пятачок ©   (10.11.10 12:54) [5]

Можно конечно и так, но что-то увесисто мне кажется это будет в итоге, т.е. из пушки по даже не по воробьям :) Хотя мыслю понял, дельная. Спасиб!

> Anatoly Podgoretsky ©   (10.11.10 12:50) [3]

Линк есть, а то кругом только все ломают?


Медвежонок Пятачок   (2010-11-10 12:54:00) [12]

а зачем нам какой-то хеш какого-то системного пароля?
у нас всегда есть контекст приватного контейнера текущего юзера
CryptAcquireContext c параметрами nil (имя контейнера) и провайдером prov_rsa_full

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


Dennis I. Komarov   (2010-11-10 12:53:00) [13]


> Ну если его в проге нужно хранить

Читай как  "Для проги" или "Нужно хранить..." т.п.
не суть...


Anatoly Podgoretsky   (2010-11-10 12:50:00) [14]

> Dennis I. Komarov  (10.11.2010 12:36:00)  [0]

Protected Storage часть криптоапи.


бумбум   (2010-11-10 12:48:00) [15]


> pas: String;// глобвльная


Хотя лучше константа

const
s: String ='parol';


бумбум   (2010-11-10 12:45:00) [16]


> В проге нужно хранить пассворд. Не хеш, а оригинал,

Ну если его в проге нужно хранить

pas: String;// глобвльная
..
begin
pas:= 'parol';
end;


А дальше нихрена не понял.


Наверх

Титульная страница Поиск, карта сайта Написать письмо