How to convert a String to a Hex Byte Array?
本问题已经有最佳答案,请猛点这里访问。
Possible Duplicate:
How do you convert Byte Array to Hexadecimal String, and vice versa, in C#?
为了测试我的加密算法,我已经提供了密钥、纯文本及其产生的密码文本。
键和纯文本是字符串
如何将其转换为十六进制字节数组??
像这样:
像这样:
1 | byte[] key = new byte[16] { 0xE8, 0xE9, 0xEA, 0xEB, 0xED, 0xEE, 0xEF, 0xF0, 0xF2, 0xF3, 0xF4, 0xF5, 0xF7, 0xF8, 0xF9, 0xFA} ; |
提前六点:)
你需要这个吗?
1 2 3 4 5 6 7 8 9 10 11 12 13 | static class HexStringConverter { public static byte[] ToByteArray(String HexString) { int NumberChars = HexString.Length; byte[] bytes = new byte[NumberChars / 2]; for (int i = 0; i < NumberChars; i += 2) { bytes[i / 2] = Convert.ToByte(HexString.Substring(i, 2), 16); } return bytes; } } |
希望它有帮助。
来自msdn的示例代码:
1 2 3 4 5 6 7 8 9 10 11 | string hexValues ="48 65 6C 6C 6F 20 57 6F 72 6C 64 21"; string[] hexValuesSplit = hexValues.Split(' '); foreach (String hex in hexValuesSplit) { // Convert the number expressed in base-16 to an integer. int value = Convert.ToInt32(hex, 16); // Get the character corresponding to the integral value. string stringValue = Char.ConvertFromUtf32(value); char charValue = (char)value; Console.WriteLine("hexadecimal value = {0}, int value = {1}, char value = {2} or {3}", hex, value, stringValue, charValue); } |
您只需将其更改为每2个字符(而不是空格)拆分字符串。
你是说这个吗?
1 2 3 4 5 6 7 8 9 10 | StringBuilder Result = new StringBuilder(); string HexAlphabet ="0123456789ABCDEF"; foreach (byte B in Bytes) { Result.Append(HexAlphabet[(int)(B >> 4)]); Result.Append(HexAlphabet[(int)(B & 0xF)]); } return Result.ToString(); |