我正在實現我自己的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