[求助]MD5加密带汉字的字符串,加密后的结果为何跟在线MD5加密得到的结果不一致?

wx_云淡风清 4天前 154
如题,我现在手上有个md5.dll文件,我用这里面的md5加密涵数对字符串进行加密时,
待加密字符串如果只是字母+数字形式的,则加密后的结果是正确的,
如:123456789  加密后的值是:25F9E794323B453885F5181F1B624D0B   这是对的,也跟那些在线MD5加密得到的结果是一样的。
但字符串中带汉字时,则不对,
如:123456张三123  我调用dll加密后得到的值是:F53B2027878BC4F9B19170D47E8C3535   但在线MD5加密得到的值是:6561AE13EA012AEE64B85A8E7C5F1709
应该是在线的得到的值是对的。
实在是找不到是啥原因了,求哪位大神,能分享一个相应正确的dll,或指点下,是不是我的汉字要进行别的处理?
PS:汉字不能进行别的编码,如URL编码等,都不行,必须是汉字进行加密。

最新回复 (6)
hzqst 4天前
2
你先搞清楚你的汉字是UTF8还是GB2312还是Unicode再说
wx_云淡风清 4天前
3
hzqst 你先搞清楚你的汉字是UTF8还是GB2312还是Unicode再说
啊,你是指我的程序中的么?我用的开发工具是PowerBuilder9.0,这个开发工具,是ANSI单字符集的,那我代码中用到的汉字,就应该是GB2312的吧,对吗?
youxiaxy 4天前
4
DLL  没有问题。在线 加密的话 一般网页都是 UTF-8编码    。然后 就....

我比较懒 就用 易语言了。
 至于  为什么要 减一  是因为 最后多了一个   0  
测试 如图:


youxiaxy 4天前
5
怎么说呢  两个结果都没错。只是编码不一样。所以结果不同。所以  先确认你需要的  编码  。在进行转换  。最后在取  MD5    就行了。
wx_云淡风清 4天前
6
youxiaxy DLL  没有问题。在线 加密的话 一般网页都是 UTF-8编码    。然后 就....我比较懒 就用 易语言了。 至于 &a ...
兄弟,非常感谢,您的指点完全正确,我转为UTF-8编码的,就OK了,能否加您下QQ,没别的意思,就是加您QQ,发个小红包感谢您的指点。
如果可以的话,您QQ站内短信发我下,我加您。
wx_云淡风清 4天前
7
此贴可以结贴了!楼上兄弟,已经正确指点并解决问题了,感谢大伙热心帮忙!
返回