`
az7772010
  • 浏览: 204390 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

c#常用函数

 
阅读更多
//得到md5
  public static string GetMD5(string encypStr, string charset)
        {
            string retStr;
            MD5CryptoServiceProvider m5 = new MD5CryptoServiceProvider();

            //创建md5对象
            byte[] inputBye;
            byte[] outputBye;

            //使用GB2312编码方式把字符串转化为字节数组.
            try
            {
                inputBye = Encoding.GetEncoding(charset).GetBytes(encypStr);
            }
            catch (Exception ex)
            {
                inputBye = Encoding.GetEncoding("GB2312").GetBytes(encypStr);
            }
            outputBye = m5.ComputeHash(inputBye);

            retStr = System.BitConverter.ToString(outputBye);
            retStr = retStr.Replace("-", "").ToUpper();
            return retStr;
        }
        //创建package签名
        public static  string CreateMd5Sign(NameValueCollection nvc, string key, string value)
        {
            var sb = new StringBuilder();

            var akeys = new ArrayList(nvc.Keys);
            akeys.Sort();

            foreach (string k in akeys)
            {
                var v = (string)nvc[k];
                if (null != v && "".CompareTo(v) != 0
                    && "sign".CompareTo(k) != 0 && "key".CompareTo(k) != 0)
                {
                    sb.Append(k + "=" + v + "&");
                }
            }
            sb.Append(key + "=" + value);
            //return sb.ToString();
            string sign = GetMD5(sb.ToString(), "UTF-8").ToUpper();
            return sign;
        }
//得到32位随机数
        public static string getNoncestr()
        {
            Random random = new Random();
            return GetMD5(random.Next(1000).ToString(), "UTF-8");
        }

//得到时间戳
        public static string getTimestamp()
        {
            TimeSpan ts = DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, 0);
            return Convert.ToInt64(ts.TotalSeconds).ToString();
        }
        //输出XML
        public static string parseXML(NameValueCollection nvc)
        {
            var sb = new StringBuilder();
            sb.Append("<xml>");
            var akeys = new ArrayList(nvc.Keys);
            foreach (string k in akeys)
            {
                var v = (string)nvc[k];
                if (System.Text.RegularExpressions.Regex.IsMatch(v, @"^[0-9.]$"))
                {
                    sb.Append("<" + k + ">" + v + "</" + k + ">");
                }
                else
                {
                    sb.Append("<" + k + "><![CDATA[" + v + "]]></" + k + ">");
                }
            }
            sb.Append("</xml>");
            return sb.ToString();
        }
        //解析xml节点值

        public static string GetXmlNodeValue(System.Xml.XmlDocument xdoc,string path,string NodeName)
        {
            if (xdoc != null && xdoc.DocumentElement != null && xdoc.ChildNodes.Count > 0)
            {
                System.Xml.XmlNode XmlNode = xdoc.SelectSingleNode(path + NodeName);
                if (XmlNode != null)
                {
                    return XmlNode.InnerText;
                }
                else
                {
                    return "";
                }
            }
            else
            {
                return "";
            }
        }
        /** 取任意位数随机数 */
        public static string BuildRandomStr(int length)
        {
            Random rand = new Random();

            int num = rand.Next();

            string str = num.ToString();

            if (str.Length > length)
            {
                str = str.Substring(0, length);
            }
            else if (str.Length < length)
            {
                int n = length - str.Length;
                while (n > 0)
                {
                    str.Insert(0, "0");
                    n--;
                }
            }

            return str;
        }
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics