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

本文深入讲解AES加密技术的六大核心参数,包括算法模式、秘钥长度、秘钥、秘钥偏移量、补码方式及加密结果编码方式。重点解析iOS平台下AES加密的实现流程与注意事项,如秘钥管理、前后端加密一致性等。

一、

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

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

参数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

 

转载于:https://my.oschina.net/yyyyyyyyqs/blog/684629

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值