iOS工具 - MD5加密
MD5 加密
1 - 代码封装:对 NSString 进行扩展
// - NSString+MD5.h
1 #import <Foundation/Foundation.h> 2 @interface NSString (MD5) 3 4 + (NSString *)stringToMD5:(NSString *)str;// 加密 5 6 7 @end
// - NSString+MD5.m
1 #import "NSString+MD5.h" 2 #import <CommonCrypto/CommonCrypto.h> 3 @implementation NSString (MD5) 4 5 // 加密 6 + (NSString *)stringToMD5:(NSString *)str{ 7 8 // 首先将字符串转换成 UTF-8 编码, 因为 MD5 加密是基于 C语言的,所以要先把字符串转化成 C语言的字符串 9 const char *fooData = [str UTF8String]; 10 11 // 创建一个字符串数组,接收 MD5 的值 12 unsigned char result[CC_MD5_DIGEST_LENGTH]; 13 14 // 计算 MD5 的值, 这是官方封装好的加密方法:把我们输入的字符串转换成 16 进制的 32 位数,然后存储到 result 中 15 CC_MD5(fooData, (CC_LONG)strlen(fooData), result);// 第一个参数:要加密的字符串;第二个参数: 获取要加密字符串的长度;第三个参数: 接收结果的数组。 16 17 // 创建一个字符串保存加密结果 18 NSMutableString *saveResult = [NSMutableString string]; 19 20 // 从result 数组中获取加密结果并放到 saveResult 中 21 for (int i = 0; i < CC_MD5_DIGEST_LENGTH; i++) { 22 [saveResult appendFormat:@"%02x", result[i]]; 23 } 24 /* 25 x表示十六进制,%02X 意思是不足两位将用0补齐,如果多余两位则不影响 26 NSLog("%02X", 0x888); //888 27 NSLog("%02X", 0x4); //04 28 */ 29 return saveResult; 30 } 31 32 @end
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)