public static byte[] FromHex(string hex) { if (hex == null) { return((byte[])null); } if ((hex.Length & 1) == 1) { throw new ArgumentException("Length must be a multiple of 2"); } byte[] numArray1 = new byte[hex.Length >> 1]; int num1 = 0; int num2 = 0; while (num1 < numArray1.Length) { byte[] numArray2 = numArray1; int index1 = num1; string str1 = hex; int index2 = num2; int num3 = index2 + 1; int num4 = (int)(byte)((uint)CryptoConvert.FromHexChar(str1[index2]) << 4); numArray2[index1] = (byte)num4; ref byte local = ref numArray1[num1++]; int num5 = (int)local; string str2 = hex; int index3 = num3; num2 = index3 + 1; int num6 = (int)CryptoConvert.FromHexChar(str2[index3]); local = (byte)(num5 + num6); }
public static byte[] FromHex(string hex) { if (hex == null) { return(null); } if ((hex.Length & 1) == 1) { throw new ArgumentException("Length must be a multiple of 2"); } byte[] array = new byte[hex.Length >> 1]; int i = 0; int num = 0; while (i < array.Length) { array[i] = (byte)(CryptoConvert.FromHexChar(hex[num++]) << 4); byte[] array2 = array; int num2 = i++; array2[num2] += CryptoConvert.FromHexChar(hex[num++]); } return(array); }