2013-08-07 68 views
1

我在我的iPhone應用程序中使用3DES加密時遇到問題。我有9個字節的消息要加密。當我使用kCCOptionECBMode時,第一個8字節塊被正確加密(我有服務器產生的樣本結果)。我怎樣才能加密最後一個字節?當我使用kCCOptionPKCS7PaddingkCCOptionECBMode| kCCOptionPKCS7Padding時,它給出了錯誤的結果,狀態爲kCCBufferTooSmall。我已經在SO上看過一些與3DES加密有關的帖子,但沒有幫助我。3des加密iPhone填充問題

ccStatus = CCCrypt(kCCEncrypt, 
         kCCAlgorithm3DES, 
         kCCOptionECBMode, 
         vkey, 
         kCCKeySize3DES, 
         vinitVec, 
         vplainText, 
         plainTextBufferSize, 
         (void *)bufferPtr, 
         [data length], 
         &movedBytes); 

回答

0

問題是數據長度參數。我應該在填充後計算數據長度並將其傳遞到函數。