原理什么的不在本篇的范畴,网上很多大牛总结的很好了 请参考AES加密过程详解
- 苹果默认是
CBC
模式的,有文档为证:
/*!
@enum CCOptions
@abstract Options flags, passed to CCCryptorCreate().
@constant kCCOptionPKCS7Padding Perform PKCS7 padding.
@constant kCCOptionECBMode Electronic Code Book Mode.
Default is CBC.
*/
enum {
/* options for block ciphers */
kCCOptionPKCS7Padding = 0x0001,
kCCOptionECBMode = 0x0002
/* stream ciphers currently have no options */
};
一般来说,我们客户端单纯只是做做业务的话,接触的加密算法或者需要我们去深入底层的东西少之又少,通常是后端提供加密的
key
(秘钥)和iv
(偏移量)给前端小伙伴们使用.CBC
和EBC
,在调用方看来,仅仅只是一个枚举值的区别
//CBC模式
kCCOptionPKCS7Padding
//ECB模式
kCCOptionPKCS7Padding | kCCOptionECBMode
- 下面