我试图将用python编写的模块转换为perl 6,我发现没有 AES Perl6中的方法:
from Cryptodome.Cipher import AES import base64 def aes(text, key): pad = 16 - len(text) % 16 text = text + bytearray([pad] * pad) encryptor = AES.new(key, 2, b"0102030405060708") ciphertext = encryptor.encrypt(text) return base64.b64encode(ciphertext)
有没有用Perl6编写的模块实现 俄歇电子能谱 方法?
似乎 OpenSSL 模块提供对各种AES密码的访问。这取决于OpenSSL库是否可用(尽管在Windows上,我相信它作为模块安装过程的一部分下载DLL)。
OpenSSL
安装了那个( zef install OpenSSL 一个人可以:
zef install OpenSSL
use OpenSSL::CryptTools;
然后使用 encrypt / decrypt :
encrypt
decrypt
# Fake IV and key my $iv = ('0' x 16).encode; my $key = ('xy' x 16).encode; # Encrypt. my $ciphertext = encrypt("asdf".encode, :aes256, :$iv, :$key); say $ciphertext; # Decrypt. say decrypt($ciphertext, :aes256, :$iv, :$key).decode;
见 these tests 更多示例。