{"id":1587,"date":"2014-12-25T17:46:46","date_gmt":"2014-12-25T09:46:46","guid":{"rendered":"http:\/\/blog.qdac.cc\/?p=1587"},"modified":"2014-12-28T04:52:53","modified_gmt":"2014-12-27T20:52:53","slug":"12306-%e5%a4%a7%e8%a7%84%e6%a8%a1%e6%95%b0%e6%8d%ae%e6%b3%84%e9%9c%b2%e4%ba%8b%e4%bb%b6%e4%b8%ad%e6%8b%9b%e6%9f%a5%e8%af%a2%e5%b7%a5%e5%85%b7","status":"publish","type":"post","link":"https:\/\/blog.qdac.cc\/?p=1587","title":{"rendered":"12306 \u5927\u89c4\u6a21\u6570\u636e\u6cc4\u9732\u4e8b\u4ef6\u4e2d\u62db\u67e5\u8be2\u5de5\u5177-\u9644\u6e90\u7801"},"content":{"rendered":"<p>\u8fd9\u4e2a\u5de5\u5177\u7684\u76ee\u7684\u662f\u5728\u4e0d\u4f20\u64ad\u90a3\u4e9b\u7528\u6237\u6570\u636e\u7684\u524d\u63d0\u4e0b\uff0c\u7ed9\u5927\u5bb6\u63d0\u4f9b\u4e00\u4e2a\u67e5\u8be2\u81ea\u5df1\u662f\u5426\u4e2d\u62db\u7684\u5de5\u5177\u3002\u8fd9\u4e2a\u5de5\u5177\u4e0d\u9700\u8981\u8054\u7f51\uff0c\u4e0d\u9700\u8981\u5b89\u88c5\uff0c\u76f4\u63a5\u67e5\u8be2\u672c\u5730\u768412306.hashs\u8fd9\u4e2aMD5\u6458\u8981\u6570\u636e\uff0c\u7531\u4e8e\u60a8\u8f93\u5165\u7684\u8eab\u4efd\u8bc1\u53f7\u4fe1\u606f\u53ea\u4e0e\u672c\u5730\u768412306.hashs\u6587\u4ef6\u4e2d\u7684\u6307\u7eb9\u6570\u636e\u8fdb\u884c\u5bf9\u6bd4\uff0c\u800c12306.hashs\u6ca1\u6709\u4efb\u4f55\u4e2a\u4eba\u654f\u611f\u4fe1\u606f\uff0c\u6240\u4ee5\u60a8\u53ef\u4ee5\u653e\u5fc3\u4f7f\u7528\u5b83\u3002\u81f3\u4e8e\u4e3a\u4ec0\u4e48\u4ec0\u4e48\u8eab\u4efd\u8bc1\u53f7\uff0c\u4e00\u4e2a\u5f88\u91cd\u8981\u7684\u539f\u56e0\u662f\u4f7f\u7528\u8eab\u4efd\u8bc1\u53f7\u5b9e\u9645\u7a0b\u5e8f\u4e0d\u4f1a\u5f97\u5230\u4efb\u4f55\u654f\u611f\u6570\u636e\uff0c\u60a8\u4e5f\u4e0d\u7528\u6211\u6536\u96c6\u4f60\u7684\u8eab\u4efd\u8bc1\u53f7\uff08\u8bf4\u5b9e\u5728\u7684\uff0c\u6709\u90a3\u7cbe\u529b\uff0c\u6211\u8fd8\u4e0d\u5982\u7528\u8eab\u4efd\u8bc1\u53f7\u751f\u6210\u5de5\u5177\u751f\u6210\u5462\uff09\uff0c\u60a8\u4e5f\u4e0d\u7528\u62c5\u5fc3\u60a8\u7684\u8eab\u4efd\u8bc1\u53f7\u4f1a\u88ab\u6211\u4f20\u5230\u67d0\u4e2a\u4e0d\u77e5\u540d\u7684\u5730\u65b9\u3002<\/p>\n<p><a href=\"https:\/\/blog.qdac.cc\/wp-content\/uploads\/2014\/12\/QQ\u622a\u56fe20141225173810.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-1588\" src=\"https:\/\/blog.qdac.cc\/wp-content\/uploads\/2014\/12\/QQ\u622a\u56fe20141225173810.jpg\" alt=\"QQ\u622a\u56fe20141225173810\" width=\"658\" height=\"179\" srcset=\"https:\/\/blog.qdac.cc\/wp-content\/uploads\/2014\/12\/QQ\u622a\u56fe20141225173810.jpg 658w, https:\/\/blog.qdac.cc\/wp-content\/uploads\/2014\/12\/QQ\u622a\u56fe20141225173810-300x82.jpg 300w\" sizes=\"auto, (max-width: 658px) 100vw, 658px\" \/><\/a><\/p>\n<p>\u5168\u90e8\u6e90\u7801\uff1a<\/p>\n<pre class=\"lang:delphi decode:true \">uses\r\n  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,\r\n  System.Classes, Vcl.Graphics,System.Generics.Collections,\r\n  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls,qrbtree;\r\n\r\ntype\r\n  TForm1 = class(TForm)\r\n    btnQuery: TButton;\r\n    Label1: TLabel;\r\n    Label3: TLabel;\r\n    edtId: TEdit;\r\n    lblResult: TLabel;\r\n    Button1: TButton;\r\n    procedure Button1Click(Sender: TObject);\r\n    procedure FormCreate(Sender: TObject);\r\n    procedure btnQueryClick(Sender: TObject);\r\n  private\r\n    { Private declarations }\r\n    FList:TStringList;\r\n  public\r\n    { Public declarations }\r\n  end;\r\n\r\nvar\r\n  Form1: TForm1;\r\n\r\nimplementation\r\n\r\nuses qstring, qdigest;\r\n{$R *.dfm}\r\nconst\r\n  MD5_Append:QStringW='';\/\/\u8fd9\u4e2a\u7528\u4e8eMD5\u6df7\u6dc6\u7684\u503c\u4e0d\u516c\u5f00\r\nprocedure TForm1.btnQueryClick(Sender: TObject);\r\nvar\r\n  AHash: TQMD5Digest;\r\n  AIndex:Integer;\r\nbegin\r\nAHash:=MD5Hash(Trim(edtId.Text)+MD5_Append);\r\nif FList.Find(DigestToString(AHash),AIndex) then\r\n  begin\r\n  lblResult.Font.Color:=clRed;\r\n  lblResult.Caption:='\u5f88\u4e0d\u5e78\uff0c\u60a8\u88ab\u547d\u4e2d\u4e86\uff0c\u8bf7\u53ca\u65f6\u66f4\u6362\u60a8\u768412306\u76f8\u5173\u4fe1\u606f\u3002';\r\n  end\r\nelse\r\n  begin\r\n  lblResult.Font.Color:=clGreen;\r\n  lblResult.Caption:='\u4e0d\u7528\u592a\u62c5\u5fc3\uff0c\u81f3\u5c11\u8fd9\u6279\u88ab\u6cc4\u9732\u7684\u6570\u636e\u4e2d\u6ca1\u6709\u60a8\u3002';\r\n  end;\r\nend;\r\n\r\nprocedure TForm1.Button1Click(Sender: TObject);\r\nvar\r\n   p,pl:PQCharW;\r\n   S,L,AName,AId:QStringW;\r\n  AHash: TQMD5Digest;\r\n   AStream:TMemoryStream;\r\n   C:Integer;\r\n   ABuilder:TQStringCatHelperW;\r\nbegin\r\n S:=LoadTextW('c:\\temp\\12306.txt');\r\n p:=PQCharW(S);\r\n ABuilder:=TQStringCatHelperW.Create;\r\n while p^ &lt;&gt; #0 do\r\n   begin\r\n   L := DecodeLineW(p);\r\n   pl := PQCharW(L);\r\n   C := 0;\r\n   while pl^ &lt;&gt; #0 do\r\n     begin\r\n     if StartWithW(pl, '----', False) then\r\n       begin\r\n       Inc(pl, 4);\r\n       if C = 1 then\r\n         begin\r\n         AName := DecodeTokenW(pl, '-', #0, True);\r\n         SkipCharW(pl, '-');\r\n         AId := DecodeTokenW(pl, '-', #0, True);\r\n         Break;\r\n         end;\r\n       Inc(C);\r\n       end\r\n     else\r\n       Inc(pl);\r\n     end;\r\n   AHash := MD5Hash(AId + MD5_Append);\r\n   ABuilder.Cat(DigestToString(AHash)).Cat(SLineBreak);\r\n   end;\r\n SaveTextW(ExtractFilePath(Application.ExeName) + '12306.hashs',\r\n   ABuilder.Value);\r\n FreeObject(ABuilder);\r\n end;\r\n\r\nprocedure TForm1.FormCreate(Sender: TObject);\r\n var\r\n   AFileName: QStringW;\r\nbegin\r\nFList:=TStringList.Create;\r\nAFileName:=ExtractFilePath(Application.ExeName)+'12306.hashs';\r\nif FileExists(AFileName) then\r\n  begin\r\n  FList.LoadFromFile(AFileName);\r\n  FList.Sort;\r\n  end\r\nelse\r\n  begin\r\n  Application.MessageBox('12306.hashs\u6587\u4ef6\u4e0d\u5b58\u5728\uff0c\u65e0\u6cd5\u67e5\u8be2\u3002','\u9519\u8bef',MB_OK or MB_ICONSTOP);\r\n  Exit;\r\n  end;\r\nend;<\/pre>\n<p>&nbsp;<\/p>\n<p><strong>\u3010\u4e0b\u8f7d\u94fe\u63a5\u3011<\/strong><\/p>\n<p><a href=\"http:\/\/pan.baidu.com\/s\/1bn92NCV\" target=\"_blank\">\u767e\u5ea6\u7f51\u76d8<\/a><\/p>\n<p><strong>\u3010\u75c5\u6bd2\u626b\u63cf\u7ed3\u679c\u3011<\/strong><\/p>\n<p><a href=\"http:\/\/r.virscan.org\/report\/87ee82bc20e6edec3cb83ae183d1c874\">VirScan\u75c5\u6bd2\u626b\u63cf\u62a5\u544a<\/a><\/p>\n<p><strong>\u3010\u9644\u3011<\/strong><\/p>\n<p>\u672c\u6b21\u6570\u636e\u6cc4\u9732\u53ef\u80fd\u7684\u6e90\u5934\u7684\u7b80\u5355\u5206\u6790\uff1a<\/p>\n<div>\u9996\u5148\uff0c\u4e2a\u4eba\u89c9\u5f9712306\u5b98\u65b9\u670d\u52a1\u5668\u6cc4\u9732\u7684\u53ef\u80fd\u6027\u5f88\u5c0f\u3002\u5927\u6982\u7406\u7531\u5982\u4e0b\uff1a<\/div>\n<div>\uff081\uff09\u3001\u6570\u636e\u5e93\u5bc6\u7801\u5b58\u660e\u6587\u7684\u53ef\u80fd\u6027\u5f88\u5c0f\u3002\u5982\u679c\u5728\u4e2d\u56fd\u51e0\u6b21\u5927\u7684\u62d6\u5e93\u4e8b\u4ef6\u53d1\u751f\u540e\uff0c12306\u4ecd\u7136\u7528\u660e\u6587\u5b58\u8d2e\u7528\u6237\u7684\u5bc6\u7801\uff0c\u90a312306\u5c31\u7eaf\u5c5e\u6b7b\u90fd\u4e0d\u77e5\u9053\u81ea\u5df1\u600e\u4e48\u6b7b\u7684\u3002\u5b83\u7684\u7a0b\u5e8f\u8bbe\u8ba1\u5e08\u53ef\u4ee5\u53bb\u5403\u5c4e\u53bb\u4e86\u3002\u4e2a\u4eba\u8ba4\u4e3a12306\u5b98\u7f51\u7684\u58f0\u660e\u662f\u5173\u4e8e\u8fd9\u4e00\u70b9\u5e94\u8be5\u53ef\u4fe1\u7684\u3002<\/div>\n<div>\uff082\uff09\u3001\u6cc4\u9732\u7684\u6570\u636e\u91cf\u592a\u5c0f\u3002\u76ee\u524d\u6cc4\u9732\u51fa\u6765\u7684\u7248\u672c\u662f13\u4e07\u591a\u6761\u6570\u636e\uff0c\u4f20\u8a00\u670918G\u548c22G\u7684\u7248\u672c\uff0c\u4f46\u622a\u6b62\u76ee\u524d\u4e3a\u6b62\uff0c\u7b14\u8005\u6ca1\u6709\u89c1\u5230\u4efb\u4f55\u6765\u6e90\u663e\u793a\u8fd9\u4e24\u4e2a\u7248\u672c\u7684\u6570\u636e\u662f\u5b58\u5728\u7684\u3002\u5982\u679c\u6240\u8c13\u768418G\u548c22G\u4e0d\u5b58\u5728\uff0c\u90a3\u4e4813\u4e07\u6761\u8bb0\u5f55\u5c31\u4e0d\u53ef\u80fd\u662f\u4ece12306\u5b98\u7f51\u6cc4\u9732\u51fa\u53bb\u7684\u3002<\/div>\n<div>\u90a3\u4e48\uff0c\u6392\u966412306\u5b98\u65b9\u670d\u52a1\u5668\u6cc4\u9732\u7684\u53ef\u80fd\uff0c\u90a3\u4e48\u6570\u636e\u7684\u6765\u6e90\u662f\u90a3\u91cc\uff1f<\/div>\n<div>\uff081\uff09\u3001\u7b2c\u4e09\u65b9\u62a2\u7968\u8f6f\u4ef6\u7684\u53ef\u80fd\u6027<\/div>\n<div>\u8fd9\u4e2a\u53ef\u80fd\u6027\u662f\u5b58\u5728\u7684\uff0c\u5c24\u5176\u662f\u4f7f\u7528\u670d\u52a1\u5668\u5237\u7968\u7684\u51e0\u5bb6\u5382\u5546\u5acc\u7591\u6700\u5927\u3002\u53e6\u5916\u5c31\u662f\u63d0\u4f9b\u5ba2\u6237\u7aef\u5237\u7968\u5de5\u5177\u7684\u53ef\u80fd\u6027\u4e5f\u6709\uff0c\u901a\u8fc7\u4e00\u5b9a\u7684\u6280\u672f\u5206\u6790\uff0c\u8fd9\u65b9\u9762\u53ef\u4ee5\u8fdb\u884c\u68c0\u67e5\uff0c\u5982\u679c\u5ba2\u6237\u7aef\u5237\u7968\u65f6\u53ea\u5c06\u7528\u6237\u540d\u548c\u5bc6\u7801\u4fdd\u5b58\u5728\u672c\u673a\uff0c\u90a3\u4e48\u5c31\u4e0d\u4f1a\u6709\u95ee\u9898\uff0c\u5982\u679c\u4f20\u5230\u4e86\u4f5c\u8005\u81ea\u5df1\u7684\u90ae\u7bb1\u7b49\u5730\u65b9\uff0c\u90a3\u5c31\u6709\u53ef\u80fd\u4e86\u3002\u90a3\u4e48\uff0c\u8fd9\u79cd\u5de5\u5177\u7684\u53ef\u80fd\u6027\u6709\u591a\u5927\u5462\uff1f\u770b\u4e0b\u8f7d\u91cf\u548c\u6cc4\u9732\u7684\u6570\u636e\u91cf\u6765\u8bf4\uff0c\u4e0d\u53ef\u80fd\u4e0b\u8f7d\u91cf\u592a\u5c0f\u7684\u8f6f\u4ef6\uff0c\u90a3\u4e48\u8c03\u67e5\u7684\u76ee\u6807\u5e94\u8be5\u662f\u6bd4\u8f83\u660e\u786e\u7684\u3002\u4f46\u8fd9\u4e2a\u53ef\u80fd\u6027\u7b14\u8005\u8ba4\u4e3a\u6709\uff0c\u7531\u4e8e\u7b14\u8005\u4e0d\u638c\u63e1\u8fd9\u4e9b\u8f6f\u4ef6\u7684\u4e0b\u8f7d\u91cf\uff0c\u6240\u4ee5\u4e0d\u597d\u8bf4\u6709\u591a\u5927\u3002<\/div>\n<div>\uff082\uff09\u3001\u901a\u8fc7\u5df2\u77e5\u6cc4\u9732\u7684\u6570\u636e\u8fdb\u884c\u649e\u5e93<\/div>\n<div>\u901a\u8fc7\u5229\u7528\u8fc7\u53bb\u5176\u5b83\u7f51\u7ad9\u6cc4\u9732\u7684\u8d26\u53f7\u5bc6\u7801\u6570\u636e\uff0c\u6328\u4e2a\u6d4b\u8bd5\u649e\u5e93\u8fd9\u79cd\u53ef\u80fd\u6027\u4e5f\u662f\u5b58\u5728\u7684\u3002\u800c\u4e14\u649e\u5e93\u7684\u6210\u529f\u7387\u4e5f\u662f\u76f8\u5f53\u9ad8\u7684\uff0c\u4f46\u7ecf\u5386\u4e86\u5386\u6b21\u4e8b\u4ef6\u800c\u8fd8\u4e0d\u6539\u5bc6\u7801\u7684\u670b\u53cb\uff0c\u76f8\u4fe1\u6bd4\u4f8b\u4e0d\u4f1a\u592a\u5927\uff0c\u4f46\u5728\u7531\u4e8e\u57fa\u6570\u5927\uff0c\u6210\u529f\u4e2a13\u4e07\u6761\u8bb0\u5f55\u786e\u5b9e\u662f\u6709\u53ef\u80fd\u7684\uff0c\u751a\u81f3\u53ef\u80fd\u4f1a\u66f4\u591a\u4e00\u70b9\u3002\u4f46\u76f8\u4fe1\u901a\u8fc7\u8fd9\u6b21\u4e8b\u4ef6\u540e\uff0c\u7edd\u5927\u90e8\u5206\u4eba\u4f1a\u66f4\u6539\u5bc6\u7801\uff0c\u4f30\u8ba1\u90a3\u6240\u8c13\u768418G\/22G\u7248\u672c\u6211\u4eec\u53ef\u80fd\u6c38\u8fdc\u4e5f\u5f97\u4e0d\u5230\u3002<\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u8fd9\u4e2a\u5de5\u5177\u7684\u76ee\u7684\u662f\u5728\u4e0d\u4f20\u64ad\u90a3\u4e9b\u7528\u6237\u6570\u636e\u7684\u524d [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[21],"tags":[263,264,265],"class_list":["post-1587","post","type-post","status-publish","format-standard","hentry","category-misc","tag-263","tag-264","tag-265"],"views":6951,"_links":{"self":[{"href":"https:\/\/blog.qdac.cc\/index.php?rest_route=\/wp\/v2\/posts\/1587","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.qdac.cc\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.qdac.cc\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.qdac.cc\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.qdac.cc\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1587"}],"version-history":[{"count":7,"href":"https:\/\/blog.qdac.cc\/index.php?rest_route=\/wp\/v2\/posts\/1587\/revisions"}],"predecessor-version":[{"id":1599,"href":"https:\/\/blog.qdac.cc\/index.php?rest_route=\/wp\/v2\/posts\/1587\/revisions\/1599"}],"wp:attachment":[{"href":"https:\/\/blog.qdac.cc\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1587"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.qdac.cc\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1587"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.qdac.cc\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1587"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}