標籤:16進位 oba ram orm class turn bsp char har
/// <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 = 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加密和解密