2011-07-20 159 views
0

我使用以下類來加密/解密我的文本。使用無效密鑰時返回錯誤的解密文本

http://code.google.com/p/iphonebits/source/browse/trunk/src/Encryption/NSData-AES.m?r=2

這完美的作品。但是,當我使用無效密鑰(加密密鑰以外的任何密鑰)對加密文本進行解密時,它會返回一些文本,而不是解密文本的實際長度。可能是什麼原因(這是否應該返回零)?這是更好的方法嗎?庫應該爲無效的解密密鑰返回錯誤嗎?這是否是必須的?

謝謝

回答

1

那麼,算法不會知道你提供的密鑰是否是正確的。要知道密鑰是否正確,該算法必須具有它的副本,這是不安全的。雖然它可能有散列的副本,但這仍然適用於加密和解密算法僅適用於一個密鑰。您當前的解密接受密鑰並將其用於解碼算法中。結果應該反映原始文本,但如果密鑰錯誤,它會給你根據錯誤鍵生成的文本。這一切都正常工作。

+0

感謝您的信息。所以像commoncrypto這樣的庫會返回錯誤。任何想法他們如何做到這一點? – Dilshan

+1

密鑰長度可能是問題以及密鑰中使用的字符。除此之外,如果你遇到關鍵的限制,它不應該返回錯誤。 – Cyprian

+0

好的謝謝你的回覆。讚賞。接受它。 – Dilshan

相關問題