我试图让 as3crypto 在 AES-128 模式下与 Gibberish 或 EzCrypto 一起玩得很好。无论我使用哪种设置组合,我都无法让一个来解密另一个,并且通常会在 ruby 中收到“解密错误”消息。每个包含的环境都可以解密它自己加密的数据,但其中一个似乎无法解密另一个。有没有人能让两者一起工作?
这是我尝试过的一种变体:
在 Actionscript 方面,使用 as3crypto:
//define the encryption key
var key:ByteArray = Hex.toArray("password");
//put plaintext into a bytearray
var plainText:ByteArray = Hex.toArray(Hex.fromString("this is a secret!"));
//set the encryption key
var aes:AESKey = new AESKey(key);
//encrypt the text
aes.encrypt( plainText );
trace(Base64.encode(Hex.fromArray(plainText)));
//encrypted value is N2QwZmI0YWQ4NzhmNDNhYjYzM2QxMTAwNGYzNDI1ZGUyMQ==
在红宝石方面,使用胡言乱语:
// also tried the default size (256)
cipher = Gibberish::AES.new("password",128)
// raises the following exception: OpenSSL::Cipher::CipherError: wrong final block length
cipher.dec("N2QwZmI0YWQ4NzhmNDNhYjYzM2QxMTAwNGYzNDI1ZGUyMQ==")
我尝试了各种不同的方法,都产生上述异常或“错误加密”