对字符串的加密解密

        在我们的程序设计中,我们经常要加密一些特殊的内容,今天总结了几个简答的加密方法,分享给大家!


方法一:简答的字符加减

        

    这个方法实际就是运用字符码的加减来乱序,生成一个看似无序的字符,上例子:


加密:

//加密算法
        public string StrInCoded(string str)
        {
            string s = "";
            try
            {
                for (int i = 0; i < str.Length; i++)
                {
                    s += (char)(str[i] + 8);
                }
                s=
                return s;
            }
            catch
            {
                return str;
            }
        }



解密:

//解密算法
        public string StrDeCoded(string str)
        {
            string s = "";
            try
            {
                for (int i = 0; i < str.Length; i++)
                {
                    s += (char)(str[i] - 8);
                }
                s=
                return s;
            }
            catch
            {
                return str;
            }
        }




方法二:生成纯数字的字符

        

       这个方法也很简单,我们可以利用c#封装好的进制转换来完成字符的标记和切分:


加密:

//加密算法
        public string StrEnCoded(string value)
        {
            StringBuilder sb = new StringBuilder();

            foreach (char c in value)
            {
                int cAscil = (int)c;
                sb.Append(Convert.ToString(c, 8) + "9");
            }

            return sb.ToString();
        }



说明:{Convert.ToString(c, 8) + "9"}这段代码是将C转换成8进制,再加上9这个不可能在8进制中出现的数字来分割字符

           八进制数字序列:0,1,2,3,4,5,6,7,10


     解密:


//解密算法
        public string StrDeCoded(string value)
        {
            string[] splitInt = value.Split(new char[] { ‘9‘ }, StringSplitOptions.RemoveEmptyEntries);

            var splitChars = splitInt.Select(s => Convert.ToChar(
                                              Convert.ToInt32(s, 8)
                                            ).ToString());

            return string.Join("", splitChars);
        }



说明:=>叫 lambda 运算。
          读作 “goes to” 
          就是把左边声明的变量带入到=>右边的表达式或者代码段里。


        这里我想说,重要的不是怎么实现这个过程,而是我们要想到使用!想到要加密,想到加密的好处!




对字符串的加密解密

上一篇:阿里云弹性GPU服务架构和案例分析


下一篇:Illustrator 简单制作卡通风格立体字