1.ios 某個app碰到涉及3des的解密函數。ios
2.底層調用的庫函數。算法
3.對比CCCrypt的頭文件app
CCCryptorStatus CCCrypt( CCOperation op, /* kCCEncrypt, etc. */ CCAlgorithm alg, /* kCCAlgorithmAES128, etc. */ CCOptions options, /* kCCOptionPKCS7Padding, etc. */ const void *key, size_t keyLength, const void *iv, /* optional initialization vector */ const void *dataIn, /* optional per op and alg */ size_t dataInLength, void *dataOut, /* data RETURNED here */ size_t dataOutAvailable, size_t *dataOutMoved);
參數2是對應的算法,當2時對應枚舉的值爲kCCAlgorithm3DES。函數
enum { kCCAlgorithmAES128 = 0, kCCAlgorithmDES, kCCAlgorithm3DES, kCCAlgorithmCAST, kCCAlgorithmRC4, kCCAlgorithmRC2 };
4.按照固定key以及向量填充後進行解密。發現祕鑰只有23位,進行解密失敗,CCCrypt爲24位,進行補0操做後解密成功。spa