Привет, я возился с модулями Crypt :: RSA perl. Я получил модули для шифрования строки (пароля) и затем экспортировал ее в файл с именем «test.key». Но мне пришло в голову, что шифр не годится, если я не могу получить ключ, используемый для шифрования строки в первое место.
Когда я пытаюсь заставить его просто распечатать скалярные $ private и $ public, я получаю вывод HASH (0x00000). Итак, насколько я могу судить, это означает, что ключ хранится в HASH, проблема в том, что я не знаю имя HASH, созданного для печати соответствующего ключа. В нем говорится, что параметры для Crypt :: RSA можно найти на странице руководства, которая явно не существует в моей системе.
Есть идеи?
Вот пример кода, который я разорвал на части.
#!/usr/bin/perl
use strict;
use warnings;
use Crypt::RSA;
my $rsa = new Crypt::RSA;
my $message = "hello world";
my ($public, $private) = $rsa->keygen (
#Identity => '',
Size => 1024,
#Password => '',
Verbosity => 1,
) or die $rsa->errstr();
my $cyphertext = $rsa->encrypt (
Message => $message,
Key => $public,
Armour => 1,
) or die $rsa->errstr();
my $plaintext = $rsa->decrypt (
Cyphertext => $cyphertext,
Key => $private,
Armour => 1,
) or die $rsa->errstr();
print $public;
print $private;
open FILE, ">", "test.key" or die $!;
print FILE "$cyphertext\n";
close FILE;