如何在Perl中生成受密码保护的RSA密钥

如何在Perl中生成受密码保护的RSA密钥,perl,rsa,private-key,public-key,passphrase,Perl,Rsa,Private Key,Public Key,Passphrase,我试图在Perl中生成一个带有密码保护的公钥和私钥,但我没有发现任何有用的东西 到目前为止,我发现这个链接似乎非常有希望。然而,我可以在没有任何密码短语的情况下解密我的消息,尽管我已经用密码短语创建了它们 另一个链接是这样的,但当我创建密钥(以便将它们存储在数据库中)时,我仍然可以不使用密码短语进行解密 总之,我需要一个库,它允许我使用私钥对文本进行加密,并对两者都使用密码短语 谢谢你的帮助 请不要使用PGP加密 更新 下面是一段无法按预期工作的代码: use strict; use warni

我试图在Perl中生成一个带有密码保护的公钥和私钥,但我没有发现任何有用的东西

到目前为止,我发现这个链接似乎非常有希望。然而,我可以在没有任何密码短语的情况下解密我的消息,尽管我已经用密码短语创建了它们

另一个链接是这样的,但当我创建密钥(以便将它们存储在数据库中)时,我仍然可以不使用密码短语进行解密

总之,我需要一个库,它允许我使用私钥对文本进行加密,并对两者都使用密码短语

谢谢你的帮助

请不要使用PGP加密

更新

下面是一段无法按预期工作的代码:

use strict;
use warnings;
use Data::Dumper;
use 5.010;
use Crypt::RSA;

my $rsa = new Crypt::RSA;

my ($master_public, $master_private) = $rsa->keygen(
   Identity => "Someone",
   Size     => 1024,
   Password => "this is a password or passphare",
) or die $rsa->errstr();

my $cyphertext = $rsa->encrypt (
   Message    => "My Message that I want to encrypt",
   Key        => $master_public,
   Armour     => 1,
) or die $rsa->errstr();

my $text = $rsa->decrypt (
    Cyphertext => $cyphertext,
    Key        => $master_private,
    Armour     => 1,
    # Here I expect to add the user's passphrase
) or die $rsa->errstr();

say $text;

RSA密码短语仅用于保存或读取磁盘上的密钥。在操作过程中,您从未将私钥保存到磁盘,因此它已在内存中未加密

从私钥文档中,您可以看到如何将其隐藏并保存到光盘(您拥有的$master_private对象已经是该类型的对象)


RSA密码短语仅用于保存或读取磁盘上的密钥。在操作过程中,您从未将私钥保存到磁盘,因此它已在内存中未加密

从私钥文档中,您可以看到如何将其隐藏并保存到光盘(您拥有的$master_private对象已经是该类型的对象)


请添加一段实际的Perl代码,您认为这段代码演示了“在没有密码的情况下解密加密内容”的能力。请尽可能具体。嗨,Mike,我添加了一段代码来证明我的观点。谢谢请添加一段实际的Perl代码,您认为这段代码演示了“在没有密码的情况下解密加密内容”的能力。请尽可能具体。嗨,Mike,我添加了一段代码来证明我的观点。谢谢