【发布时间】:2011-06-27 10:02:35
【问题描述】:
我正在尝试让 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==
在 ruby 方面,使用胡言乱语:
// 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==")
我尝试了各种不同的方法,都产生了上述异常或“错误加密”
【问题讨论】:
-
为什么不把你用到的代码的相关部分贴出来,让大家看看?
标签: ruby encryption openssl as3crypto