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

一、

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

posted @ 2016-06-01 14:40  预估计  阅读(1559)  评论(0编辑  收藏  举报