用户提供一个加密后的数据,还有加密用的key,
在linux下用openssl可以正确解开或者原始的数据,
但是在php下用mcrypt_decrypt函数却解不开~
搞不清楚是怎么回事。
是不是这两者的内部实现有什么不同吗?
附代码$uno = "fdf79fbe9513b7149e2fdc02ae8ad867a6f3500562f8979cb0aefecd9fcc5873";
$key = "bd4dc9ea55911d93c92908f76f8d8ee86176e78ce88353eef9ff0c457a15446e";$iv = mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB));
$out = mcrypt_decrypt(MCRYPT_RIJNDAEL_256, pack('H*', $key), pack('H*', $uno), MCRYPT_MODE_ECB, $iv);
linux下的openssl命令是KEY='bd4dc9ea55911d93c92908f76f8d8ee86176e78ce88353eef9ff0c457a15446e'
IV='2B24DA45A4FA4F0EE8B49284ACE1DBEB'
openssl aes-256-ecb $OPT_CMD -nosalt -K $KEY -iv $IV -in $FILE_INFILE_IN的文件是加密后的binary文件,文件内容转换成16进制的话就是php里定义的$uno
fdf79fbe9513b7149e2fdc02ae8ad867a6f3500562f8979cb0aefecd9fcc5873