首先:我们创建category在里面封装MD5加密的代码块,这样之后直接调用方法就可以进行加密喽!! 开始吧~
NSString+MD5.h文件
#import <Foundation/Foundation.h>
@interface NSString (MD5)
– (NSString *)getMD5;
@end```
**NSString+MD5.m文件**
```code
// Copyright © 2016年 xiaojie. All rights reserved.
#import “NSString+MD5.h”
//@引入MD5加密的框架
#import <CommonCrypto/CommonCrypto.h>
@implementation NSString (MD5)
– (NSString *)getMD5{
//1: 将字符串转换成C语言的字符串(因为:MD5加密是基于C的)
const char *data = [self UTF8String];
//2: 初始化一个字符串数组,用来存放MD5加密后的数据
unsigned char resultArray[CC_MD5_DIGEST_LENGTH];
//3: 计算MD5的值
//参数一: 表示要加密的字符串
//参数二: 表示要加密字符串的长度
//参数三: 表示接受结果的数组
CC_MD5(data, (CC_LONG) strlen(data), resultArray);
//4: 初始化一个保存结果的字符串
NSMutableString *resultString = [NSMutableString string];
//5: 从保存结果的数组中,取出值赋给字符串
for (int i = 0; i < CC_MD5_DIGEST_LENGTH; i++) {
[resultString appendFormat:@”%02X”, resultArray[i]];
}
//6: 返回结果
return resultString;
}
@end```
**ViewController.m调用文件**
```code
#import “ViewController.h”
//引入封装代码的头文件
#import “NSString+MD5.h”
@interface ViewController ()
@end
@implementation ViewController
– (void)viewDidLoad {
[super viewDidLoad];
//1: 初始化一个需要加密的字符串
NSString *string = @”面朝大海,春暖花开”;
//2: 调用我们封装好的加密算法,并保存返回值给一个新的字符串
NSString *resultString = [string getMD5];
//3: 输出值
NSLog(@”resultString = %@”, resultString);
}
@end```