现在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];
}




(菜鸟文章,个人学习,知识共享,仅供参考,如有雷同,纯属巧合)