Dez*_*ndo 0 c# string cryptography bytebuffer xor
我正在尝试构建一个简单的XOR函数,用于解密单个字符的十六进制密钥.它适用于多个角色和个别角色......但仅限于"A"到"F".从"G"开始,它不断抛出"FormatException".
这是问题函数,传递两个字符串:
// For Reference:
// strHexKey = "G";
// strHexInput = "1b37373331363f78151b7f2b783431333d78397828372d363c78373e783a393b3736"
private string SCXOR_Update(string strHexKey, string strHexInput)
{
byte[] buffer1 = hexbuffer(strHexInput);
byte buffer2 = Convert.ToByte(Convert.ToInt32(strHexKey, 16));
byte[] result = buffer1;
for (int i = 0; i < (strHexInput.Length / 2); i++)
{
result[i] = (byte)(buffer1[i] ^ buffer2);
}
return BitConverter.ToString(result).Replace("-", "");
}
Run Code Online (Sandbox Code Playgroud)
在"byte buffer2"行抛出异常,并且仅在从字母"G"向上推进时发生.
知道我错过了什么吗?它必须在脸上瞪着我?!
提前致谢!