ios java aes_GitHub - iampaopaoyu/AESCipher-iOS: AES encryption working between Objective-C and Java...

AESCipher-iOS

AES Encryption For Objective-C

Using this code for iOS and AESCipher-Java for Android and Java back-end lets you encrypt and decrypt with AES accurately. Coding with C style is just for security.

Encryption:

// For String

NSString * aesEncryptString(NSString *content, NSString *key);

// For Data

NSData * aesEncryptData(NSData *data, NSData *key);

Decryption:

// For String

NSString * aesDecryptString(NSString *content, NSString *key);

// For Data

NSData * aesDecryptData(NSData *data, NSData *key);

Attention , this repo is based on AES-128 so you should use a 16-byte-key . If you want to use AES-256 , change kKeySize to kCCKeySizeAES256 , and use 32 bytes' KEY.

Additionally you can modify the kInitVector with another 16 bytes string in line 14 of AESCipher.m , but you should make sure to keep it the same with IV_STRING in line 23 of AESCipher-Java.

用 Objective-C 实现的 AES 加密。

与 AESCipher-Java 一并使用能达到 在iOS、Android、Java后台产生相同密文、正确解密成明文的目的。用 C 的风格来编写是为了提高些许安全性。

加密方法:

// For String

NSString * aesEncryptString(NSString *content, NSString *key);

// For Data

NSData * aesEncryptData(NSData *data, NSData *key);

解密方法:

// For String

NSString * aesDecryptString(NSString *content, NSString *key);

// For Data

NSData * aesDecryptData(NSData *data, NSData *key);

注意 ,由于这个库是基于 AES-128 的,因此请确保传入的 KEY 大小为 16 字节。如果要使用 AES-256 ,修改 kKeySize 为 kCCKeySizeAES256,然后提供 32 字节的 KEY 就可以了。

另外你也可以将 AESCipher.m 第 14 行中的 kInitVector 修改为其他 16 字节的字符串,但请确保其与 AESCipher-Java 第 23 行处的 IV_STRING 保持一致。

另附源码详解一份:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值