将URL 转化为16进制编码

来源:互联网 发布:太空工程师要学编程 编辑:程序博客网 时间:2024/06/06 01:35

摘要:抓取数据的时候,为了避免数据重复,比较每个url是否一样,这个时候需要反复查询数据库,这个时候将url编码存入数据库,然后数据库建立索引,每次向数据库添加数据的时候,根据方法GetEncode() 将url转化为32为的字符串,然后根据这个字符串去数据库查询数据,判断有无

url  1.先base64

       2.MD5散列

       3.将内容转化为16进制

       4.进行比较

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Web.Security;  public  class UrlEncrypt    {        #region        /// <summary>        /// url        /// </summary>        /// <param name="url">将url编码</param>        /// <returns></returns>        public static string GetEncode(string url)        {            string encode = EncodeBase64(url);            string hashcode = MD5Encrypt(encode);            string int16 = Encode(hashcode);            return hashcode;        }        /// <summary>        /// <函数:Encode>        /// 作用:将字符串内容转化为16进制数据编码,其逆过程是Decode        /// 参数说明:        /// strEncode 需要转化的原始字符串        /// 转换的过程是直接把字符转换成Unicode字符,比如数字"3"-->0033,汉字"我"-->U+6211            /// </summary>        /// <param name="strEncode"></param>        /// <returns></returns>        public static string Encode(string strEncode)        {            string strReturn = "";//  存储转换后的编码            foreach (short shortx in strEncode.ToCharArray())            {                strReturn += shortx.ToString("X4");            }            return strReturn;        }        //Base64编码        public static string EncodeBase64(string code)        {            string encode = "";            byte[] bytes = Encoding.Default.GetBytes(code);            try            {                encode = Convert.ToBase64String(bytes);            }            catch            {                encode = code;            }            return encode;        }        /// <summary>        /// 使用MD5算法求Hash散列        /// </summary>        /// <param name="text">明文</param>        /// <returns>散列值</returns>        public static string MD5Encrypt(string text)        {            return FormsAuthentication.HashPasswordForStoringInConfigFile(text, "MD5");        }        #endregion    }



0 0
原创粉丝点击