额- -、!腾讯又更新了!
此次更新的flash版本是Main_v_67.swf!as算法如下:
CommonData.getKey = function () : String{ var _loc_1:String = "g@iG6im^&Ado&*igYn!azh1"; var _loc_2:* = CommonData.serverTime.toString(); var _loc_3:* = parseInt(_loc_2.substr((_loc_2.length - 1)), 10); var _loc_4:* = _loc_1.substr(_loc_3); return _-SF._-S6(_loc_2 + _loc_4); }// end function
以上算法位于Main_v_67.swf\动作\module\_-by.as。昨天的算法是:
CommonData.getKey = function () : String{ var _loc_1:String = "usuCkmYdicKaNdishitiNuRMouTh"; var _loc_2:* = CommonData.serverTime.toString(); var _loc_4:* = _loc_1.substr(_loc_3); return _-dO._-No(_loc_2 + _loc_4); }// end function
我昨天有分析过:http://www.cnblogs.com/lofanmi/articles/1809036.html 文章是昨天刚写的,换汤不换药,又是一个字符串 "g@iG6im^&Ado&*igYn!azh1"呵呵。
下面是我自己写的函数:
1 uses
2 DateUtils, IdHashMessageDigest, StrUtils;
3
4 function GetFarmKey(Time: TDateTime): string;
5 var
6 md5: TIdHashMessageDigest5;
7 keystring, farmtime, substr: string;
8 begin
9 keystring := 'g@iG6im^&Ado&*igYn!azh1';
10 farmtime := IntToStr(DatetimeToUnix(Time - 8 / 24));
11 substr := RightStr(keystring, (Length(keystring) - (StrToInt(farmtime) mod 10)));
12 md5 := TIdHashMessageDigest5.Create;
13 Result := LowerCase(md5.AsHex(md5.HashValue(farmtime + substr)));
14 FreeAndNil(md5);
15 end;
以上代码测试通过!