Forum Webscript.Ru

Программирование => Perl => Тема начата: Forza от 26 Июля 2004, 02:21:49

Название: шифрование (не crypt())
Отправлено: Forza от 26 Июля 2004, 02:21:49
Подскажите, пожалуйста, функцию "неодностороннего" шифрования в Perl.

crypt() не подходит, т.к. хочу шифровать пароли, но в случае забывчивости юзера надо будет пароль высылать ему на е-мэйл.
Т.к. база не сверхсекретная, ничего особо сложного не надо.
Название: шифрование (не crypt())
Отправлено: Green Kakadu от 26 Июля 2004, 10:00:04
поищи соотв. модуль, например вот:
http://search.cpan.org/~sifukurt/Crypt-Solitaire-2.0/Solitaire.pm
Название: шифрование (не crypt())
Отправлено: Phoinix от 26 Июля 2004, 13:01:22
Forza
IMHO правильней хранить базу закриптованных и не закриптованных паролей, при обычной работе использовать закриптованные пароли, а при утере, высылать обычный.
Название: шифрование (не crypt())
Отправлено: NeoNox от 26 Июля 2004, 13:06:41
Phoinix правильнее всего использовать только криптованый пароль а при утери генерировать новый и высылать его на почтовый ящик пользователя.
Название: шифрование (не crypt())
Отправлено: Forza от 26 Июля 2004, 13:53:02
Цитировать
Phoinix:
IMHO правильней хранить базу закриптованных и не закриптованных паролей, при обычной работе использовать закриптованные пароли, а при утере, высылать обычный

Я думал, что уровень безопасности всегда определяется наиболее слабым местом. Какой смысл работать с криптованными паролями, если кое-где будут лежать некриптованные?
Цитировать
NeoNox:
Phoinix правильнее всего использовать только криптованый пароль а при утери генерировать новый и высылать его на почтовый ящик пользователя.

У меня была такая же мысль, но повторю, что по идеологии базы нет смысла очень сильно охранять пароли. Просто не хочу, чтобы они лежали в открытом виде, и всё.
Название: шифрование (не crypt())
Отправлено: NeoNox от 26 Июля 2004, 15:00:39
Цитировать
Forza:
уровень безопасности всегда определяется наиболее слабым местом. Какой смысл работать с криптованными паролями, если кое-где будут лежать некриптованные

Цитировать
Forza:
о идеологии базы нет смысла очень сильно охранять пароли

ты определись что тебе нужно.
возможно perldoc MIME::Base64 тебе поможет, но я бы остановился на своем варианте. тем более что писать его 5 минут а надежность в сотни раз выше.
Название: шифрование (не crypt())
Отправлено: Phoinix от 26 Июля 2004, 15:14:28
Forza
Цитировать
Я думал, что уровень безопасности всегда определяется наиболее слабым местом. Какой смысл работать с криптованными паролями, если кое-где будут лежать некриптованные?


Уровень безопасности доступа к базе с некриптованными паролями, это другая история, можно в крайнем случае вести отдельную базу паролей и доступ к ней осуществлять только в определенных случаях (запись нового пароля, восстановление старого). А лучше, действительно воспользоваться варианом NeoNox\'a
Название: шифрование (не crypt())
Отправлено: Forza от 26 Июля 2004, 15:29:44
Цитировать
Phoinix:
А лучше, действительно воспользоваться варианом NeoNox\'a


  Я не хочу генерить для юзеров сложно запоминающиеся пароли типа F4dD3dcC21. Я хочу, чтобы они сами создавали пароли, которые им легко запомнить, чтобы в случае забывчивости я им мог их напомнить, и чтобы пароли не лежали в "чистом" виде в базе.
  Вариант NeoNox\'а в общем случае идеальный, но для моего уровня безопасности он избыточен и неудобен.
Название: шифрование (не crypt())
Отправлено: Forza от 08 Августа 2004, 16:30:09
Эх, теперь заказчик захотел всё делать по уму: хранить криптованные пароли и высылать в случае забывчивости новый сгенерированный скриптом пароль. :abuse: Есть ли специальная функция для генерации пароля, чтобы в ней можно было задавать длину и набор допустимых символов?
Конечно, и самому такое можно написать с помощью генератора случайных чисел, но вдруг уже есть что-то стандартное.
Название: шифрование (не crypt())
Отправлено: Phoinix от 08 Августа 2004, 17:37:35
Forza
Цитировать
Конечно, и самому такое можно написать с помощью генератора случайных чисел, но вдруг уже есть что-то стандартное.


Ты больше времени потратил на то, что бы написать это предложение, формирование случайного пароля - 4 строки кода...
Название: шифрование (не crypt())
Отправлено: Forza от 08 Августа 2004, 18:07:27
Цитировать
Phoinix:
Ты больше времени потратил на то, что бы написать это предложение


Ok. Напишу сам.
А вообще я очень быстро набираю текст, так что неизвестно на что больше времени уйдёт.  ;)