您的位置:首页 > 移动开发 > IOS开发

iOS AES加密流程,AES加密的几个参数

2016-06-01 14:40 260 查看
一、

AES加密有很多种组合方式,以下参数:
1、算法模式
2、秘钥长度
3、秘钥
4、秘钥偏移量
5、补码方式
6、加密结果编码方式

参数1:iOS代码中参数:kCCOptionECBMode、貌似iOS只支持ECB模式的,有需求的研究分享一下



参数2:只有2种,128位,或者256位,在网上找AES加密的时候要分清128还是256,本文是256。

128和256在我们分类中代码写法差距不大,只是参数变了。

推荐你去网上下一个128的AES加密分类与本文的比较6个参数,更能理解。

我就不提供128的给大家了,因为本文的实例是我项目中正常运行的,不掺杂其他让大家迷惑的128了。

参数3:秘钥,这个看你项目的要求,公钥还是私钥都有可能。

参数4:偏移量!这个参数一定要跟java/php后台统一!不然你们加密得到的结果永远不一样!nopadding就是没有偏移量,推荐用这个。

参数5:只有2种,kCCOptionPKCS7Padding/kCCOptionPKCS5Padding,iOS我只看到了kCCOptionPKCS7Padding

参数6:这个一般都是base64,使用的谷歌第三方 GTMBase64 我会放在附件里。

二、

AES加密大致流程:2步

1、把一个字符串,用我们AES的NSData分类转换为NSData类型。

2、再把data类型的数据用GTMBase64转换为字符串。

三、

注意点

私钥宏定义:私钥请求接口获得。

#define KappSecret @"KappSecret"

公钥宏定义:公钥向后台人员要,他给你。
#define KPublicKey @"KPublicKey"

四、文件请到这里拿:

http://www.oschina.net/code/snippet_2559367_56682
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: