首页 > 代码库 > C# ascii加密和解密

C# ascii加密和解密

技术分享

 

/// <summary>
        /// ascii加密
        /// </summary>
        /// <param name="text"></param>
        /// <returns></returns>
        private string AsciiEncryption(string text, string parameter)
        {
            StringBuilder sb = new StringBuilder();
            foreach (char c in text)
            {
                // Get the integral value of the character. 
                int value =http://www.mamicode.com/ Convert.ToInt32(c);
                // Convert the decimal value to a hexadecimal value in string form. 
                int temp = Int32.Parse(parameter, System.Globalization.NumberStyles.HexNumber);    //16进制转10进制 差值
                string hexOutput = String.Format("{0:X}", value + temp);   //16进制数据   16进制加30   10进制加48
                sb.Append(hexOutput);
            }
            return sb.ToString();
        }

 

/// <summary>
        /// Ascii解密
        /// </summary>
        /// <param name="text"></param>
        /// <returns></returns>
        private string AsciiDecryption(string text)
        {
            int temp = Int32.Parse("30", System.Globalization.NumberStyles.HexNumber);    //16进制转10进制 差值
            StringBuilder sb = new StringBuilder();
            for (int i = 0; i < text.Length; i += 2)
            {
                string str = text.Substring(i, 2);  //16进制
                int x10 = Int32.Parse(str, System.Globalization.NumberStyles.HexNumber);    //16进制转10进制
                //ToString("x8") 10进制转16进制
                string result = ((char)int.Parse((x10 - temp).ToString("x8"), System.Globalization.NumberStyles.HexNumber)).ToString();
                sb.Append(result);
            }
            return sb.ToString();
        }

 

C# ascii加密和解密