MD5 加密

2023-05-30

字符串加密

    // 1. 准备好一个字符串
NSString *string = @"asdasfaf"; // 2. MD5加密是基于C语言的. 所以要把这个字符串转化成C的字符串
const char *fooData = [string UTF8String];
// 3. 创建一个字符串数组 接受MD5的值
unsigned char result[CC_MD5_DIGEST_LENGTH];
// 4. 计算MD5的值
// 第一个参数 : 表示要加密的字符串
// 第二个参数 : 获取要加密字符串的长度
// 第三个参数 : 接受结果的数组
CC_MD5(fooData, (CC_LONG)strlen(fooData), result);
// 5. 保存结果的字符串
NSMutableString *resultString = [NSMutableString string];
// 6. 从result数组中获取最终结果
for ( int i = ; i < CC_MD5_DIGEST_LENGTH; i ++) {
[resultString appendFormat:@"%02X", result[i]];
}
NSLog(@"%@", resultString);

数组加密

    NSArray *array = @[@"", @""];
NSString *document = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)objectAtIndex:];
NSString *savePath = [document stringByAppendingPathComponent:@"array.plast"];
[array writeToFile:savePath atomically:YES]; NSData *data = [NSData dataWithContentsOfFile:savePath]; // 1. 创建一个MD5的对象
CC_MD5_CTX md5;
// 2. 初始化MD5的对象
CC_MD5_Init(&md5);
// 3. 准备MD5的加密
CC_MD5_Update(&md5, data.bytes, (CC_LONG)data.length); // 4. 准备一个字符串数组, 存储MD5加密之后的数据
unsigned char result[CC_MD5_DIGEST_LENGTH];
// 5. 结束MD5的加密
CC_MD5_Final(result, &md5); NSMutableString *resultString = [NSMutableString string];
for (int i = ; i < CC_MD5_DIGEST_LENGTH; i ++) {
[resultString appendFormat:@"%02X", result[i]];
}
NSLog(@"result == %@", resultString);
}

MD5 加密的相关教程结束。