首先:我們創(chuàng)建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```