c# 简单的加密解密函数

   public class EncryptHelper
    {
        /// <summary>
        /// 简单的解密函数
        /// </summary>
        /// <param name="strDec"></param>
        /// <returns></returns>
        public static String Decipher(String strDec)
        {
            int i;//'for循环用
            char strTmp;//  '临时字符存储
            String Decipher = "";
            if (strDec.Length < 1)
            {
                Decipher = "";
            }
            else
            {
                for (i = 0; i < strDec.Length; i++)
                {
                    if (Convert.ToInt16(Convert.ToChar(strDec.Substring(i, 1))) < -6000 && Convert.ToChar(Convert.ToInt16(strDec.Substring(i, 1))) != '?')
                    {
                        strTmp = Convert.ToChar(Convert.ToInt16(strDec.Substring(i, 1)) + 5); //'对汉字进行解密
                    }
                    else if (Convert.ToInt16(Convert.ToChar(strDec.Substring(i, 1))) <= 126 && Convert.ToInt16(Convert.ToChar(strDec.Substring(i, 1))) >= 80)
                    {
                        strTmp = Convert.ToChar(Convert.ToInt16(Convert.ToChar(strDec.Substring(i, 1))) - 47);//'对大于79的asc进行解密
                    }
                    else if (Convert.ToInt16(Convert.ToChar(strDec.Substring(i, 1))) <= 79 && Convert.ToInt16(Convert.ToChar(strDec.Substring(i, 1))) >= 33)
                    {
                        strTmp = Convert.ToChar(Convert.ToInt16(Convert.ToChar(strDec.Substring(i, 1))) + 47); //'对小于80的asc进行解密
                    }
                    else
                    {
                        strTmp = Convert.ToChar(Convert.ToInt16(Convert.ToChar(strDec.Substring(i, 1))));//'其它的字符不去转化,但是要显示的
                    }

                    Decipher = Decipher + strTmp;//'解密后的字符
                }

            }
            return Decipher;
        }

        /// <summary>
        /// 简单的加密函数
        /// </summary>
        /// <param name="strEnc"></param>
        /// <returns></returns>
        public static String Encryption(String strEnc)
        {
            int i; //'for循环用
            Char strTmp;  //'临时字符存储
            String Encryption = "";
            if (strEnc.Length < 1)
            {
                Encryption = "";
            }
            else
            {
                for (i = 0; i < strEnc.Length; i++)
                {
                    if (Convert.ToInt16(Convert.ToChar(strEnc.Substring(i, 1))) < -6000 && Convert.ToChar(Convert.ToInt16(strEnc.Substring(i, 1))) != '?')
                    {
                        strTmp = Convert.ToChar(Convert.ToInt16(strEnc.Substring(i, 1)) - 5); //'对汉字进行解密  //'对gbk的汉字进行加密
                    }
                    else if (Convert.ToInt16(Convert.ToChar(strEnc.Substring(i, 1))) <= 126 && Convert.ToInt16(Convert.ToChar(strEnc.Substring(i, 1))) >= 80)
                    {
                        strTmp = Convert.ToChar(Convert.ToInt16(Convert.ToChar(strEnc.Substring(i, 1))) - 47);//'对大于79的asc进行加密
                    }
                    else if (Convert.ToInt16(Convert.ToChar(strEnc.Substring(i, 1))) <= 79 && Convert.ToInt16(Convert.ToChar(strEnc.Substring(i, 1))) >= 33)
                    {
                        strTmp = Convert.ToChar(Convert.ToInt16(Convert.ToChar(strEnc.Substring(i, 1))) + 47); //'对小于80的asc进行加密
                    }
                    else
                    {
                        strTmp = Convert.ToChar(Convert.ToInt16(Convert.ToChar(strEnc.Substring(i, 1)))); //'其它的字符不去转化,但是要显示的
                    }

                    Encryption = Encryption + strTmp;//'加密后的字符
                }
            }
            return Encryption;
        }
    }

 

posted @ 2013-04-26 13:58  风雨无阻415  阅读(265)  评论(0)    收藏  举报