[问题] hash checksum 结果问题

楼主: gowrite (gowrite)   2018-07-26 10:05:01
大家好
最近有用 openssl md5 在 C 里面做 hash
但是出现一个很奇怪的现象
用来检测的档案已知正确的 hash
所以用来对照自己写 openssl md5 的 hash 程式
结果是我自己 hash 出来的值跟正确的值几乎一样
差别是中间少了一位
正确版 : 5332F3928F933BBD7CE502D43AB53613
自制版 : 5332F3928F933BBD7CE52D43AB53613
^^^^^
中间的 0 不见了
正确版 : A0E3D0F39D038218F3249213E5954254
自制版 : A0E3D0F39D38218F3249213E5954254
^^^^^^
这边又一个 0 不见了
我对齐一下让大家比较好对照
正确版 : 5332F3928F933BBD7CE502D43AB53613
自制版 : 5332F3928F933BBD7CE5 2D43AB53613
正确版 : A0E3D0F39D038218F3249213E5954254
自制版 : A0E3D0F39D 38218F3249213E5954254
奇怪的是不见了都是中间部分的 0
但是前面也有出现 0 却没有不见
有人知道为什么会这样吗??
不知道可不可以帮忙大概抓一下方向
谢谢
作者: CP64 (( ̄▽ ̄#)﹏﹏)   2018-07-26 12:39:00
大概是你印 byte 没有要求补零? %02x 之类的
楼主: gowrite (gowrite)   2018-07-26 14:20:00
楼上正解 没错 printf %02X 就可以了

Links booklink

Contact Us: admin [ a t ] ucptt.com