• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Delphi对接快递单的md5函数

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

对接快递单每个快递商家的接口都不同,但基本大同小异,主要的算法都是md5 和Base64。一般提供的Demo都不会有Delphi的。其实md5和Base64Delpi都自带了。

base64一般都不会有问题,主要是md5,很多用Delphi对接的,主要的问题都是出在这里。下面我分享对接两个不同快递接口,用到的md5处理都不同。

procedure TForm1.SpeedButton1Click(Sender: TObject);
var
  Str:String;
  M5Str,BaseStr:AnsiString;
begin
  str:=StringReplace(Trim(Edit1.Text),' ','',[rfReplaceAll]);
  Memo1.Lines.Add('原文'+str);
  M5Str:=THashMD5.GetHashString(Str);
  Memo1.Lines.Add('MD5:'+M5Str);
  Memo1.Lines.Add('QDAC,URL:'+qstring.UrlEncode(str,False,true));
  Memo1.Lines.Add('TNET,URL:'+TURLEncoding.URL.Encode(str));
  BaseStr:=TNetEncoding.Base64.Encode(M5Str);
  Memo1.Lines.Add('Base64(MD5):'+BaseStr);
  Memo1.Lines.Add('QDAC,URL(Base64(MD5)):'+qstring.UrlEncode(BaseStr,True,true));

  Memo1.Lines.Add('TNET,URL(Base64(MD5)):'+TNetEncoding.URL.Encode(BaseStr));
end;

  

procedure TForm1.SpeedButton2Click(Sender: TObject);
var
  md5: TIdHashMessageDigest5;
  base64: TIdEncoderMIME;
  sMD5:TIdBytes;
  Str:String;
  fStr:AnsiString;
  aMD5:TBytes;
  MStream,OStream:TMemoryStream;
begin
  Memo1.Lines.Clear;
  MStream:=TMemoryStream.Create;
  OStream:=TMemoryStream.Create;
  str:='<order></order>123456';
  aMD5:=THashMD5.GetHashBytes(Str);
  var s:=TNetEncoding.Base64.EncodeBytesToString(aMD5);
  Memo1.Lines.Add('TNetEncoding.Base64.EncodeBytesToString:'+s);
  Memo1.Lines.Add('UrlEncode:'+qstring.UrlEncode(s,True,true));
  md5 := TIdHashMessageDigest5.Create;
  base64 := TIdEncoderMIME.Create(nil);
  try
    base64.FillChar := '=';
    sMD5:=md5.HashString(str);
    Memo1.Lines.Add(base64.EncodeBytes(sMD5));
  finally
    base64.Free;
    md5.Free;
  end;

  如果你在用Delphi对接其他的快递接口的时候,如果有问题用这两个的其中一个应该就没有问题


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Delphi常量发布时间:2022-07-18
下一篇:
DELPHI中引用sqlite3发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap