2011-09-29 112 views
0

我想使用AESEncryption在Iphone中加密和解密文件。它適用於NSData。但是,如果我把數據分塊,我的文件就會變成currpt。我該怎麼做呢。我能夠使用commoncrypto庫加密和解密數據。但是當我嘗試以塊讀取數據時會出現問題。加密iphone中的解密文件

預先感謝您。 請幫助。我需要儘快實施。

+0

0 votes cast!人們不禁要問,爲什麼用戶沒有禮貌點擊答案或向上箭頭,卻期待其他用戶花時間和精力回答他們的問題。 – zaph

+0

「當我嘗試以塊讀取數據時出現問題」意味着什麼?請解釋你正在做什麼和問題。 – zaph

回答

6

AES加密是基於塊的;它一次處理16個字節的數據塊。如果您在不在數據塊邊界的任意點上跳轉到加密數據,那麼當您解密時,您將收到損壞的數據。

您需要做的是計算包含要解密的區域的開始和結束塊邊界,進行解密,然後修剪無關字節的開始和結尾。或者,只要確保您始終以16個字節的倍數工作,並將您的數據訪問限制爲塊邊界。