| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1502 人关注过本帖, 1 人收藏
标题:关于MD5加密,计算结果不对
只看楼主 加入收藏
fanjinyu9108
Rank: 2
等 级:论坛游民
帖 子:704
专家分:20
注 册:2014-1-16
结帖率:88.62%
收藏(1)
已结贴  问题点数:20 回复次数:6 
关于MD5加密,计算结果不对
关于MD5加密,计算结果不对,用木瓜的MYFILL计算结果与网站程序员用其它语言计算出来的结果不一致是怎么回事?
下面是我需要加密的原字符串:
test="AppId=10011649990910483&MchId=1002456&SignName=【联麓信息】&SignType=MD5&Timestamp=1650202787&Type=1&Version=1.0.0&key=9f9bb916f3614b169854d375bed6630f"
木瓜计算的结果如下:C3AA881647847F7DD0B64C14B9F1163C
网站用其它语言计算结果如下:F4FB53FE262F2DFBD8F640959E034857


木瓜的MYFILL上传
MyFll V1.99.10.1027.rar (370.9 KB)
搜索更多相关主题的帖子: 语言 MD5 计算 结果 加密 
2022-04-17 16:13
foxfans
Rank: 5Rank: 5
等 级:贵宾
威 望:15
帖 子:113
专家分:324
注 册:2021-10-23
收藏
得分:10 
其实二个是一样的,木瓜是原串进行MD5值,而网站上的一般有中文会进行utf8编码,再进行md5
所以 要想让木瓜和网站上一样的结果可以考虑
木瓜md5(strconv('你的字符串',9))  这样即可。
图片附件: 游客没有浏览图片的权限,请 登录注册


[此贴子已经被作者于2022-4-17 17:35编辑过]

2022-04-17 17:33
fanjinyu9108
Rank: 2
等 级:论坛游民
帖 子:704
专家分:20
注 册:2014-1-16
收藏
得分:0 
非常感谢foxfans的耐心解答,这个问题解决了,但是还是不能通过,我把程序发上来,请帮我看下
程序代码:
cUrl="https://api./sms/trade/normal/send"
mytime=datetime()-datetime(1970,1,1,0,0,0)
mytime2=ALLTRIM(STR(mytime))  &&时间戳
test='"AppId=10011649990910483&MchId=1002456&SignName=【联麓信息】&SignType=MD5&Timestamp='+mytime2+'&Type=1&Version=1.0.0&key=9f9bb916f3614b169854d375bed6630f"'

Set Library To myFll   
test2=MD5String(STRCONV(test,9))
Set Library To 


TEXT TO cData TEXTMERGE NOSHOW PRETEXT 7
{
      "Type":"1",
      "PhoneNumberSet":["17307215713","15587571286"],
      "AppId":"10011649990910483",
      "ExtendCode":"",
      "Version":"Version",
      "MchId":"1002456",
       "Signature":"<<test2>>",
       "SessionContext":"Hello 联麓信息",
      "SignType":"MD5",
      "TimeStamp":"<<mytime2>>",
      "SignName":"【联麓信息】"
     
  }
ENDTEXT
yy=SendData(cUrl, cData)
thisform.edit1.value=yy
thisform.edit2.value=&test
thisform.edit3.value=test2
thisform.refresh
RETURN    
2022-04-17 18:16
fanjinyu9108
Rank: 2
等 级:论坛游民
帖 子:704
专家分:20
注 册:2014-1-16
收藏
得分:0 
SendData(cUrl, cData)的程序如下:
程序代码:
 PARAMETERS cUrl, cData
    LOCAL wh

 
    wh = CREATEOBJECT("WinHttp.WinHttpRequest.5.1")
    wh.Open("POST", cUrl, 0)
    wh.SetRequestHeader("Accept", "application/json")
    wh.SetRequestHeader("Content-Type", "application/json;charset=utf-8")
    wh.Send(cData)
    RETURN wh.ResponseText
2022-04-17 18:18
fanjinyu9108
Rank: 2
等 级:论坛游民
帖 子:704
专家分:20
注 册:2014-1-16
收藏
得分:0 
问题解决了,就是字母大小写的问题,新的问题来了,就是假如发送的时候没有网络,就会出现错误,如何处理错误呢?
2022-04-18 16:36
foxfans
Rank: 5Rank: 5
等 级:贵宾
威 望:15
帖 子:113
专家分:324
注 册:2021-10-23
收藏
得分:0 
try

catch to ..

final...

endtry
2022-04-18 21:29
easyppt
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:1
帖 子:309
专家分:711
注 册:2021-11-24
收藏
得分:10 
foxfans  回复好贴心啊,点赞!
2022-04-20 08:58
快速回复:关于MD5加密,计算结果不对
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019132 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved