php的加密解密mcrypt系列函数和linux命令openssl的加密解密有什么不同?

bigfIingpig 2011-02-07 06:00:46
用户提供一个加密后的数据,还有加密用的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_IN

FILE_IN的文件是加密后的binary文件,文件内容转换成16进制的话就是php里定义的$uno
fdf79fbe9513b7149e2fdc02ae8ad867a6f3500562f8979cb0aefecd9fcc5873
...全文
341 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
ctylinux 2011-06-11
  • 打赏
  • 举报
回复
其他就是算法的位数不同吧。
lovekisszxq 2011-06-10
  • 打赏
  • 举报
回复
mcrypt就只是加密码用的吗? phpmyadmin里面如果没有这个模块会有什么影响吗?
skyaspnet 2011-02-09
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 bigfiingpig 的回复:]
问题解决了

mcrypt里应该指定 MCRYPT_RIJNDAEL_128,而不是 MCRYPT_RIJNDAEL_256
但是还没弄清楚 openssl的 aes-256-ecb为什么是与mcrypt的 128对应同样的算法而不是 256
[/Quote]

如果要了解加密算法原理就需要查一些资料了
bigfIingpig 2011-02-08
  • 打赏
  • 举报
回复
问题解决了

mcrypt里应该指定 MCRYPT_RIJNDAEL_128,而不是 MCRYPT_RIJNDAEL_256
但是还没弄清楚 openssl的 aes-256-ecb为什么是与mcrypt的 128对应同样的算法而不是 256

21,893

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧