我正在实现我自己的AES代码,并且在解密期间遇到一些问题。字符串到字节[]数组反之亦然
byte[] output;
output = Encrypt(EncryptBufferInput);//encrypt "12",output[] is 300532188151293E4ACA3BA529B821C1
str.Append(Encoding.ASCII.GetString(output));
output = Decrypt(DecryptBufferInput);//in hex, DecryptBufferInput should be "300532188151293E4ACA3BA529B821C1"
str.Append(Encoding.ASCII.GetString(output));//does not decrypt back to "12"
所以,如果我尝试加密“12”,它给了我在十六进制形式的“300532188151293E4ACA3BA529B821C1”的价值。当我尝试将其解密为“12”时,它给了我一个错误的值,因为DecryptBufferInput不是“300532188151293E4ACA3BA529B821C1”,而是其他值......只有前几个值是相同的。 EncryptBufferInput和DecryptBufferInput都是byte []数组,我使用Encoding.ASCII.GetBytes(string)来填充字节数组和相应的字符串(要加密的字符串或要解密的字符串)。 我在做什么错?
什么是'EncryptBufferInput'和'DecryptBufferInput'的类型? “加密”和“解密”的签名是什么? 'DecryptBufferInput'的值来自哪里?请提供更多信息。你的代码似乎有一些缺陷,但我们不能猜出任何东西,除非你告诉我们你是如何做的。 – 2013-02-27 09:34:27