• MD5加密 和 自定义加密解密


    public class EncryptString
        {
            /// <summary>
            /// MD5加密
            /// </summary>
            /// <param name="instr"></param>
            /// <returns></returns>
            public static string EncryptMD5(string instr)
            {
                string result;
                try
                {
                    byte[] toByte = Encoding.Default.GetBytes(instr);
                    MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();
                    toByte = md5.ComputeHash(toByte);
                    result = BitConverter.ToString(toByte).ToLower().Replace("-", "");
                }
                catch
                {
                    result = "";
                }
                return result;
            }
    
            /// <summary>
            /// 加密(自定义的字节加密)
            /// </summary>
            /// <param name="str"></param>
            /// <param name="bo">是否加随机数</param>
            /// <returns></returns>
            public static string MyEncrypt(string str, bool bo)
            {
                char[] cs = str.ToCharArray();
                byte[] by;
                string results = "", temp = "";
                for (int i = 0; i < cs.Length; i++)
                {
                    by = System.Text.Encoding.UTF8.GetBytes(cs[i].ToString());
                    temp = Convert.ToBase64String(by);//每个字转换为四位
                    if (bo)
                    {
                        temp += Common.GetMes.Random(10, 99).ToString();//同时加两个随机变量
                    }
                    results += temp;//(每个变为6位)全部相加
                }
                return results;
            }
            /// <summary>
            /// 解密(自定义的字节加密)
            /// </summary>
            /// <param name="str"></param>
            /// <param name="t">要和上面的对应,如果加了随机数则t值应该为6,不加的话是4,否则出错</param>
            /// <returns></returns>
            public static string DeMyEnncrypt(string str, int t)
            {
                string result = "", strtemp = "";
                try
                {
                    char[] cs = str.ToCharArray();
                    string[] temp = Common.GetMes.ArrayListstr(str, t);
                    byte[] by;
                    for (int i = 0; i < temp.Length; i++)
                    {
                        strtemp = (temp[i].ToString()).Substring(0, 4);
                        by = Convert.FromBase64String(strtemp);
                        result += System.Text.Encoding.UTF8.GetString(by);
                    }
                    return result;
                }
                catch
                {
                    return "";
                }
            }
    
            /// <summary>
            /// 把一个字符串按照n位长度分割为数组
            /// </summary>
            /// <param name="str"></param>
            /// <param name="n"></param>
            /// <returns></returns>
            public static string[] ArrayListstr(string str, int n)
            {
                string[] result;
                try
                {
                    if (n <= 0)
                    {
                        n = str.Length;
                    }
                    int arrynum = 0;
                    arrynum = (int)(str.Length / n);
                    if (arrynum <= 0)
                    {
                        arrynum = 1;
                    }
                    result = new string[arrynum];
                    for (int i = 0; i < arrynum; i++)
                    {
                        result[i] = str.Substring(n * i, n);
                    }
                }
                catch
                {
                    result = new string[1] { "" };
                }
                return result;
            }
        }
  • 相关阅读:
    请求headers处理
    requests模块
    urllib3
    urllib
    百度AI搜索引擎
    CSS层叠样式表--使用
    学习requests_html
    聚合新闻头条
    爬虫工程师的月薪如何?
    Linux日志系统
  • 原文地址:https://www.cnblogs.com/LJP-JumpAndFly/p/12009441.html
Copyright © 2020-2023  润新知