您好我在使用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;
答案 0 :(得分:1)
模块的文档可以在CPAN找到,并且应该安装在您的系统上(perldoc Crypt::RSA
)。
以下是相关链接:http://search.cpan.org/dist/Crypt-RSA/
从那里,您希望看到以下页面描述基于方法的关键变量接口。
将来,请发布您的脚本生成的确切输出。在这种情况下,输出可能包含您的答案(您尝试打印的对象的模块名称)。然后文档只是一个搜索。
在这种情况下,它可能类似于:
print $_->serialize, "\n" for $public, $private;