iPhone アプリで 3DES 暗号化を使用すると問題が発生します。暗号化する 9 バイトのメッセージがあります。を使用するkCCOptionECBMode
と、最初の 8 バイト ブロックが正しく暗号化されます (サーバーによってサンプルの結果が生成されます)。最後のバイトを暗号化するにはどうすればよいですか? kCCOptionPKCS7Padding
orを使用するkCCOptionECBMode| kCCOptionPKCS7Padding
と、 status で間違った結果が返されますkCCBufferTooSmall
。SO での 3DES 暗号化に関連するいくつかの記事を読みましたが、役に立ちませんでした。
ccStatus = CCCrypt(kCCEncrypt,
kCCAlgorithm3DES,
kCCOptionECBMode,
vkey,
kCCKeySize3DES,
vinitVec,
vplainText,
plainTextBufferSize,
(void *)bufferPtr,
[data length],
&movedBytes);