Perl如何解码pw SHA-1 Base64

时间:2015-10-12 11:10:46

标签: perl base64 password-encryption

我不知道Perl,我需要一些帮助。我需要加密一个值并在Base64中表示它。我需要修改这些现有的代码

        my $SHAObject = Digest::SHA->new('sha1');
        $Self->{EncodeObject}->EncodeOutput( \$Pw );
        $SHAObject->add($Pw);
        $CryptedPw = $SHAObject->hexdigest();
        $Self->{EncodeObject}->EncodeInput( \$CryptedPw );

我尝试用encode_base64

替换hexdigest
        my $SHAObject = Digest::SHA->new('sha1');
        $Self->{EncodeObject}->EncodeOutput( \$Pw );
        $SHAObject->add($Pw);
        $CryptedPw = $SHAObject->encode_Base64();
        $Self->{EncodeObject}->EncodeInput( \$CryptedPw );

但它不起作用..

有人可以帮帮我吗?提前谢谢你

吉安卡洛

2 个答案:

答案 0 :(得分:3)

Digest::SHA没有encode_Base64方法,因此可能出现了错误。

如果您参考文档(对于OO操作),您可以:

    $digest = $sha->digest;         # compute digest
    $digest = $sha->hexdigest;
    $digest = $sha->b64digest;

我认为这是你最后想要的,但不能肯定地说。

答案 1 :(得分:0)

您可以尝试https://metacpan.org/pod/Crypt::Digest::SHA1

use Crypt::Digest::SHA1 'sha1_b64';

$CryptedPw = sha1_b64($Pw);