相关疑难解决方法(0)

Perl和Ruby交换AES加密信息

在Perl for Ruby中,Crypt :: CBC的等价物是什么?

注意:此问题类似于stackoverflow上的PHP/Perl :655691.

Perl版本

use Crypt::CBC;
use MIME::Base64::Perl;

my $cipher = Crypt::CBC->new(
    -key    => "95A8EE8E89979B9EFDCBC6EB9797528D",
    -keysize => 32, 
    -cipher => "Crypt::OpenSSL::AES"
  );  

$encypted = $cipher->encrypt("ABCDEFGH12345678");
$base64 = encode_base64($encypted);

print("$base64"); # output -> U2FsdGVkX18m1jVqRTxANhcEj6aADeOn+2cccDft2eYAMfOkYCvAAkTIOv01VHc/

$de_base64 = decode_base64($base64);
$decrypted = $cipher->decrypt($de_base64);
$c = $cipher->finish;
print("$decrypted \n");
Run Code Online (Sandbox Code Playgroud)

我的ruby版本看起来像这样:

require 'openssl'
require 'base64'

aes = OpenSSL::Cipher::AES128.new("CBC")
aes.encrypt
aes.key = "95A8EE8E89979B9EFDCBC6EB9797528D"

encypted = aes.update("ABCDEFGH12345678") + aes.final
base64 = Base64.encode64(encypted)

puts base64 # outout -> gx1K24LqlRUtNNTDNUJTyn7HrVKK6UkfNA9LNpNjZeE=
Run Code Online (Sandbox Code Playgroud)

我非常确定Base64在Ruby和Perl中的工作方式相同.有什么想法,正确的方法是什么?

更新(解决方案)

use …
Run Code Online (Sandbox Code Playgroud)

ruby perl cryptography aes rijndael

4
推荐指数
1
解决办法
2925
查看次数

标签 统计

aes ×1

cryptography ×1

perl ×1

rijndael ×1

ruby ×1