- 加密首先引入頭文件
import<CommonCrypto/CommonCrypto.h>
- 使用MD5對(duì) NSString 進(jìn)行加密
1: 準(zhǔn)備好一個(gè)字符串 NSString *string = @"王郭得亞梁";
2: MD5加密是基于C語(yǔ)言的,所以要把這個(gè)字符串轉(zhuǎn)化成C的字符串 const char *footData = [string UTF8String];
3: 創(chuàng)建一個(gè)字符串?dāng)?shù)組,結(jié)收MD5的值
unsigned char result[CC_MD5_DIGEST_LENGTH];
4: 計(jì)算MD5的值
// 參數(shù)一 : 表示要加密的字符串
// 參數(shù)二 : 獲取要加密字符串的長(zhǎng)度
// 參數(shù)三 : 接收結(jié)果的數(shù)組
CC_MD5(footData, (CC_LONG)strlen(footData), result);
5: 保存結(jié)果的字符串
NSMutableString *resultString = [NSMutableString string];
6. 獲取結(jié)果
for (int i = 0; i< CC_MD5_DIGEST_LENGTH; i++)
{
[resultString appendFormat:@"%02X",result[i]];
}
NSLog(@"result == %@", resultString);
拓展 --- > 封裝 MD5方法 ---
1.創(chuàng)建一個(gè)延展 — NSString + MD5.h
2.在.m中,引入頭文件 #import<CommonCrypto/CommonCrypto.h>
3.封裝的方法是
- (NSString *)getMD5String{ const char *data = [self UTF8String];
unsigned char result[CC_MD5_DIGEST_LENGTH];
CC_MD5(data, (CC_LONG)strlen(data), result);
NSMutableString *resultString = [NSMutableString string];
for (int i = 0; i< CC_MD5_DIGEST_LENGTH; i++) {
[resultString appendFormat:@"%02X",result[i]];
} return resultString;
}
4.在.m中,調(diào)用上面封裝的方法
NSString *string = @"張";
NSString *newString = [string getMD5String];
NSLog(@"newString == %@", newString);