#import "NSString+MD5.h"
#import <CommonCrypto/CommonDigest.h>
@implementation NSString (MD5)
- (NSString *)md5 {
// 1.首先将字符串转换成UTF-8编码, 因为MD5加密是基于C语言的,所以要先把字符串转化成C语言的字符串
const char *cStr = [self UTF8String];
// 2.然后创建一个字符串数组,接收MD5的值
unsigned char result[CC_MD5_DIGEST_LENGTH];
// 3.计算MD5的值, 这是官方封装好的加密方法:把我们输入的字符串转换成16进制的32位数,然后存储到result中
CC_MD5(cStr, strlen(cStr), result);
/**
第一个参数: 要加密的字符串
第二个参数: 获取要加密字符串的长度
第三个参数: 接收结果的数组
*/
// 4.创建一个字符串保存加密结果
NSMutableString *saveResult = [NSMutableString string];
// 5.从result 数组中获取加密结果并放到 saveResult中
for (int i = 0; i < CC_MD5_DIGEST_LENGTH; i++) {
[saveResult appendFormat:@"%02x", result[i]];
}
/*
x表示十六进制,%02X 意思是不足两位将用0补齐,如果多余两位则不影响
NSLog("%02X", 0x888); //888
NSLog("%02X", 0x4); //04
*/
return [saveResult uppercaseString];
// return [[NSString stringWithFormat:@"%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X",
// result[0], result[1], result[2], result[3],
// result[4], result[5], result[6], result[7],
// result[8], result[9], result[10], result[11],
// result[12], result[13], result[14], result[15]
// ] uppercaseString];
}
iOS开发 md5 简单加密
最新推荐文章于 2019-03-26 14:18:10 发布