Какой простой способ для меня генерировать случайные шестнадцатеричные строки в Perl? - PullRequest
1 голос
/ 22 декабря 2010

Мне нужно создать большую случайную строку для шифрования некоторых паролей в perl.Ключи, которые я сейчас использую для шифрования, создаются на веб-сайте Gibson Research Corp.Они должны были быть заполнителями для меня, чтобы проверить с.Теперь я хочу сделать что-то окончательное.

Я бы хотел, чтобы ключ был чем-то заключенным в файл, похожий на SSL-сертификат, но не такой длинный, сейчас я использую 64-битный ключ для тестирования.Я бы подумал, что 1024-битный ключ будет немного излишним, этот ключ НИКОГДА не будет виден в Интернете, он просто зашифровывает пароль в моем конфигурационном файле от «любопытных» глаз более или менее.Причина, по которой он находится в каком-то файле, могла бы сделать так, чтобы шифровщик мог его прочитать, а расшифровщик мог также прочитать, и они оставались бы синхронизированными, используя один и тот же ключ, вместо того, чтобы копировать и вставлять ключи в каждый скрипт, и поэтомувероятность ошибки пользователя.

1 Ответ

5 голосов
/ 22 декабря 2010

Используя шестнадцатеричную функцию Perl , вы можете преобразовать десятичное число в шестнадцатеричное.

Вот фрагмент кода, который создает строку из 32 случайных шестнадцатеричных цифр:

my $rand_hex = join "", map { unpack "H*", chr(rand(256)) } 1..16;

Вот еще один, более простой, способ генерации 32 случайных шестнадцатеричных цифр:

use Digest::MD5 qw(md5_hex);
my $rand_hex2 = md5_hex(rand);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...