• 这个是加密代码,使用的进制转换,c#的是使用char数组,在使用39.9511,119.60881 这两个值时,就会有差异...找了半天,很乱,就不管了.
  • function jiami(e53,B92_)
    {
    var WVd94=parseInt(parseFloat(e53)*100000);
    var j7_2=parseInt(parseFloat(B92_)*100000);
    var rpB=(j7_2-WVd94+parseInt(licenseKey)).toString(16);
    var ie9=(j7_2+WVd94).toString(16);
    var H1433='';
    for(var i=0;i<rpB.length;i++)
    {
    var k6A36=parseInt(rpB.charAt(i),16);
    H1433+=(((k6A36>=10)?(k6A36+7):k6A36)+10).toString(36)
    }
    H1433+='z';
    for(var i=0;i<ie9.length;i++)
    {
    var k6A36=parseInt(ie9.charAt(i),16);
    H1433+=(((k6A36>=10)?(k6A36+7):k6A36)+10).toString(36)
    }
    return H1433.toUpperCase();
    }
    ------------------------------上面是js的加密代码------------------------------------------

               float floatstr1 = float.Parse(str1);
               float floatstr2 = float.Parse(str2);
               string chars16 = "0123456789ABCDEF";
               string chars36 = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
               int intstr1 = Convert.ToInt32(floatstr1 * 100000);
               int intstr2 = Convert.ToInt32(floatstr2 * 100000);
               string strtemp1 = Parse((intstr2 - intstr1 + licenseKey), chars16);
               string strtemp2 = Parse((intstr1 + intstr2), chars16);
               string strtemp3 = "";
               StringBuilder strb1 = new StringBuilder(strtemp1);
               StringBuilder strb2 = new StringBuilder(strtemp2);
               int maxLength1 = strb1.Length;
               int maxLength2 = strb2.Length;

  •                for (int i = 0; i < maxLength1; i++)
                   {
                       int inttemp = Parse1(strb1[maxLength1-1-i], chars16);
                       strtemp3 += Parse((((inttemp >= 10) ? (inttemp + 7) : (inttemp)) + 10), chars36);
                   }
                   strtemp3 += "Z";
                   for (int i = 0; i < maxLength2; i++)
                   {
                       int inttemp = Parse1(strb2[maxLength2-1-i], chars16);
                       strtemp3 += Parse((((inttemp >= 10) ? (inttemp + 7) : (inttemp)) + 10), chars36);
                   }
                   Console.WriteLine(strtemp3.ToUpper());
                   Console.Read();
                  // return strtemp3.ToUpper();
  •            }
              public static string Parse(int num, string chars)
               {
                   StringBuilder sb1 = new StringBuilder();
                   while (num > 0)
                   {
                       sb1.Append(chars[num % chars.Length]);
                       num /= chars.Length;
                   }
                   return sb1.ToString();
  •            }
               public static int Parse1(char charValue, string chars)
               {
                   char[] chartemp = chars.ToCharArray();
                   int result = 0;
                   for (int i = 0; i < chartemp.Length; i++)
                   {
                       if (charValue.Equals(chartemp[i]))
                       {
                           result = i;
                           break;
                       }
                   }
                   return result;
               }
            }
  •    ---------------------------这上面是c#代码----------------------------
posted on 2007-11-22 14:40  gerdy  阅读(196)  评论(0编辑  收藏  举报