|
|

- /// <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# 十进制和十六进制转换下一篇:C# 中2,10,16进制及其ASCII码之间转化
|