function rand(param1:String) : String
        {
            var _loc_5:String;
            var _loc_2:* = (Math.random() 
* 100000 >> 0) + 10000;
            var _loc_3:* = (Math.random() 
* 6 >> 0) + 1;
            var _loc_4:uint;
            _loc_5 = _loc_2.toString
().substr(0, _loc_3--);
            var _loc_6:uint;
            while (_loc_6++ < 
param1.length)
            {
                // label
                _loc_4 = _loc_4 + ((_loc_4 
<< 5) + param1.charCodeAt(_loc_6));
            }// end while
            _loc_5 = _loc_3.toString() + 
_loc_5 + (_loc_4 & 
2147483647).toString() + 
(Math.random() * 100000 >> 
0).toString();
            return _loc_5;
        }// end functionran('380800540')='705133873'我用delphi写的,但是结果总是不对。function ran(a:string): string; 
var
  a2,a3,a6:integer;
  a5:string;
  a4:longword;
  a4:integer;
begin
  a4:=0;
  randomize;
  a2:=random(100000) +10000;
  listinsert('','',inttostr(a2));
  randomize;
  a3:=random(6)+1;
  a5:=leftstr(inttostr(a2),a3-1);
  for a6:=1 to (length(qq)-0) do
    begin
      a4:=a4+((a4 shl 5)+ord(a[a6]));
      //a4:=a4 and 2147483647;
    end;
  a5:=inttostr(a3)+a5+inttostr(a4 and 2147483647)+inttostr(random(100000));
  result:=a5;
end;