1 Star 0 Fork 0

iamzjm / AESCipher-iOS

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

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 ,修改 kKeySizekCCKeySizeAES256,然后提供 32 字节的 KEY 就可以了。

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

另附源码详解一份:

AES加密 - iOS与Java的同步实现

MIT License Copyright (c) 2016 Welkin Xie Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

暂无描述 展开 收起
Objective-C
MIT
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Objective-C
1
https://gitee.com/iamzjm/AESCipher-iOS.git
git@gitee.com:iamzjm/AESCipher-iOS.git
iamzjm
AESCipher-iOS
AESCipher-iOS
master

搜索帮助