我一直在尝试使用相同的密钥和 iv 加密 PHP 和 Ruby 中的字符串,但我总是得到不同的结果。
下面是PHP代码
$data = "This string needs to be encrypted";
$key = "1234567887654321abcdefghabcdefgh";
$iv = "1234567887654321abcdefghabcdefgh";
echo $encrypted_data = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $key, $data, MCRYPT_MODE_CBC, $iv);
下面是Ruby代码
data = "This string needs to be encrypted"
key = "1234567887654321abcdefghabcdefgh"
iv = "1234567887654321abcdefghabcdefgh"
aes = OpenSSL::Cipher::Cipher.new("AES-256-CBC")
aes.encrypt
aes.key = key
aes.iv = iv
encrypted_data = aes.update(data) + aes.final
有人可以帮我在 PHP 和 Ruby 中获得相同的加密数据吗?我在 PHP 中加密了一些数据,然后在 Ruby 中解密,但没有取回数据。所以我认为问题在于 PHP 和 Ruby 的加密和解密机制的工作方式不同。如果我错了,请纠正我。谢谢