现在iOS程序中经常要用到加密,比如在请求数据的时候,如果你的参数中有隐私信息,如账户名,密码等,这个时候就需要对敏感信息加密。还有的时候需要将一些数据保存在本地,方便其他操作。这个时候就需要对数据库中的数据进行加密了。加密听起来神奇,但是实际使用起来缺很简单;
我现在用到的加密方式有MD5和AESC加密
1.MD5加密是不可逆的
2.使用AESC加密是可逆的
MD5加密的使用:(经常使用在网络请求中给密码加密)
1.需要先引入加密需要的头文件
#import <CommonCrypto/CommonDigest.h>
2.然后自己写一个方法来描述加密过程
- (NSString *)md5:(NSString *)str
{
const char *original_str = [str UTF8String];
unsigned char result[CC_MD5_DIGEST_LENGTH];
CC_MD5(original_str, strlen(original_str), result);
NSMutableString *hash = [NSMutableString string];
for (int i = 0; i < 16; i++)
[hash appendFormat:@"%02x", result[i]];
return [hash lowercaseString];
}
AESC加密:(经常使用在本地数据库中给敏感信息加密)
1.需要先导入相关头文件(需要先下载AESC的库文件,AESC的库很容易找)
#import "AESCrypt.h"
2.加密,自己写一个方法来描述加密过程
- (NSString *)AESC:(NSString *)value
{
NSString *key = @"1234567"; //这个key值是自己定的,可以是任意值,以后解密的时候也需要这个key值才能解密
return [AESCrypt encrypt:value password:key];
}
3.解密
- (NSString *)DECODE:(NSString *)AESCStr
{
NSString *key = @"1234567";
return [AESCrypt decrypt:AESCStr password:key];
}
(菜鸟文章,个人学习,知识共享,仅供参考,如有雷同,纯属巧合)