Perl 如何让Crypt::RSA显示其已生成的公钥和私钥?
大家好,我正在摆弄perl模块。我已经让模块对字符串(密码)进行加密,然后将其导出到名为“test.key”的文件中,但我突然想到,如果我无法获取用于加密字符串的密钥,那么密码就不好了 当我试图让它简单地打印标量$private和$public时,我会得到一个看起来像散列(0x00000)的输出。据我所知,这意味着密钥存储在散列中,问题是我不知道为了打印有问题的密钥而创建的散列的名称。它说Crypt::RSA的参数可以在一个手册页中找到,而这个手册页在我的系统中显然不存在 有什么想法吗 这是我分解的示例代码Perl 如何让Crypt::RSA显示其已生成的公钥和私钥?,perl,encryption,Perl,Encryption,大家好,我正在摆弄perl模块。我已经让模块对字符串(密码)进行加密,然后将其导出到名为“test.key”的文件中,但我突然想到,如果我无法获取用于加密字符串的密钥,那么密码就不好了 当我试图让它简单地打印标量$private和$public时,我会得到一个看起来像散列(0x00000)的输出。据我所知,这意味着密钥存储在散列中,问题是我不知道为了打印有问题的密钥而创建的散列的名称。它说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;
模块的文档可以在上找到,并且应该安装在您的系统上(
perldoccrypt::RSA
)
以下是相关链接:
从这里,您希望看到以下页面,这些页面描述了关键变量的基于方法的接口
print $_->serialize, "\n" for $public, $private;
当我在终端中键入perldoc时,我得到了“您需要安装perl文档包”,这让我觉得没有任何文档会被安装,因为perl文档模块没有安装。我在CPAN中看到了这些模块,但我认为它们与生命周期和吊销中的密钥管理有关。我会看看这个链接,可能正是我所需要的。谢谢@Soligins:如果您计划大量使用perl,请安装perldoc,它将为您提供perldoc程序和核心模块的doc。您安装的其他模块的文档已经在您的系统上,但是perldoc将使阅读变得容易。