Forum Webscript.Ru
Программирование => Perl => Тема начата: ilanva от 22 Мая 2002, 13:34:45
-
Вопрос вот какой:
use Digest::MD5 qw(md5 md5_hex md5_base64);
$text = md5($text);
#или
#$text = md5_hex($text);
#или
#$text = md5_base64($text);
Таким образом данные шифруются.
Как их теперь разшифровать?
-
Судя из названия (Perl interface to the MD5 Algorithm) то никак. Только перебором (причем используя этот алгоритм).
Если нужно и шифровать и дешифровать то это к стандартному Base64.
-
Тогда какой модуль лучше выбрать?
И еще, есть ли какой-нибудь модуль для шифрования, в котором для шифрования можно було бы использовать пароль(ключ) для этого, а не просто шифрование по какому-то алгоритму?
-
Тогда какой модуль лучше выбрать?
Задачу опиши.
-
Я формирую текст, который потом заливается на сервер в шифрованый текстовый файл.
В дальнейшем у меня должна быть возможность читать данные из этого файла.
-
Я формирую текст, который потом заливается на сервер в шифрованый текстовый файл.
Подожди, в зашифрованый файл или зашифрованая информация в обычный файл?
-
зашифрованая информация в обычный файл :)
-
зашифрованая информация в обычный файл
Тогда MD5 не подходит. Это если бы тебе пароли передавать например надо, а ты их открытым текстом передавать не хочешь - тогда MD5. Сервер тоже кодирует известный ему пароль этим методом, а потом сравнивает результат с тем, что пришёл от тебя, и тогда говорит ДА/НЕТ. Примерно так.
-
Если сходу-используй MIME::Base64.
Правда, должен понимать, что если есть функция дешифрации то кто нибудь еще сможет прочитать содержимое.
-
Я нашел в Инете такие модули для шифрования:
Crypt::Blowfish
Crypt::DES
Crypt::CipherSaber
Если кому надо, пользуйтесь.
Похоже то что надо :)
-
Crypt::Blowfish
Crypt:: DES
Crypt::CipherSaber
:) Потом расскажешь как данные из файла вытаскивал...
-
Ок.
Как только разберусь опишу.
Хотя третий имеет возможность шифровать сразу файл.
-
Потом расскажешь как данные из файла вытаскивал...
use Crypt::CBC;
use Crypt::Blowfish;
my $key = \'ключ\';
my $upload_dir = \'папка для заливки\'; #внимательно с правами
my $upload_file = \'имя файла\';
my $cipher = new Crypt::CBC(\'$key\',\'Crypt::Blowfish\');
open(OUT,">$upload_dir/$upload_file");
$cipher->start(\'encrypting\');
print OUT $cipher->crypt("текст для шифрования1");
print OUT $cipher->crypt("текст для шифрования2");
print OUT $cipher->crypt("текст для шифрования3");
close(OUT) ;
$cipher->finish();
А это для дешифрации
open(CFILE,"$upload_dir/$upload_file");
$cipher->start(\'decrypting\');
print $cipher->crypt($_) while ;
$cipher->finish();