其他语言SDK

SDK联系人QQ 语言 实现接口 源(代)码地址|SDK地址
public static string GetMD5( string str )
{
  MD5    myMD5    = MD5.Create();
  byte[]    data    = myMD5.ComputeHash( Encoding.UTF8.GetBytes( str ) );
  StringBuilder  myBuilder  = new StringBuilder();

  for ( int i = 0; i < data.Length; i++ )
  {
    myBuilder.Append( data[i].ToString( "x2" ) );
  }

  return(myBuilder.ToString() );
}
public static string UrlEncode(string input)
        {
            StringBuilder newBytes = new StringBuilder();
            var urf8Bytes = Encoding.UTF8.GetBytes(input);

            foreach (var item in urf8Bytes)
            {
                if (IsSpace((char)item))
                {
                    newBytes.Append("+");
                }
                else if (IsReverseChar((char)item))
                {
                    newBytes.Append('%');
                    newBytes.Append(ByteToHex(item).ToUpper());
                }
                else
                {
                    newBytes.Append((char)item);
                }
            }

            return newBytes.ToString();
        }

        private static bool IsReverseChar(char c)
        {
            return !((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || (c >= '0' && c <= '9')
                    || c == '-' || c == '_' || c == '.' || c == '~');
        }

        private static bool IsSpace(char c)
        {
            return c == ' ';
        }

        private static string ByteToHex(byte b)
        {
            return b.ToString("x2");
        }