博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS MD5加密实现方法
阅读量:4316 次
发布时间:2019-06-06

本文共 2204 字,大约阅读时间需要 7 分钟。

使用方法 先导入头文件 #import "MD5.h"

//md5测试NSString * md1= [MD5 md5:@"123" ];NSLog(@"32bit=%@",md1);//16位MD5测试NSString * md2=[MD5 getMd5_16Bit_String:@"123" isUppercase:YES];NSLog(@"16bit=%@",md2);//32位MD5测试NSString * md3=[MD5 getMd5_32Bit_String:@"123" isUppercase:YES];NSLog(@"32bit=%@",md3);

 

自建NSObject子类 命名MD5

MD5.h

#import 
@interface MD5: NSObject+ (NSString *)md5:(NSString *)inPutText;+ (NSString *)getMd5_32Bit_String:(NSString *)srcString isUppercase:(BOOL)isUppercase;+ (NSString *)getMd5_16Bit_String:(NSString *)srcString isUppercase:(BOOL)isUppercase;@end

MD5.m

#import "MD5.h"#import 
#import
@implementation MD5//字符串MD5加密+ (NSString *)md5:(NSString *)inPutText{ const char *cStr = [inPutText UTF8String]; unsigned char result[CC_MD5_DIGEST_LENGTH]; CC_MD5(cStr, strlen(cStr), result); 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] ] lowercaseString];}//32位MD5加密方式+ (NSString *)getMd5_32Bit_String:(NSString *)srcString isUppercase:(BOOL)isUppercase{ const char *cStr = [srcString UTF8String]; unsigned char digest[CC_MD5_DIGEST_LENGTH]; CC_MD5( cStr, strlen(cStr), digest ); NSMutableString *result = [NSMutableString stringWithCapacity:CC_MD5_DIGEST_LENGTH * 2]; for(int i = 0; i < CC_MD5_DIGEST_LENGTH; i++) [result appendFormat:@"%02x", digest[i]]; if (isUppercase) { return [result uppercaseString]; }else{ return result; }}//16位MD5加密方式+ (NSString *)getMd5_16Bit_String:(NSString *)srcString isUppercase:(BOOL)isUppercase{ //提取32位MD5散列的中间16位 NSString *md5_32Bit_String=[self getMd5_32Bit_String:srcString isUppercase:NO]; NSString *result = [[md5_32Bit_String substringToIndex:24] substringFromIndex:8];//即9~25位 if (isUppercase) { return [result uppercaseString]; }else{ return result; } }@end

 

转载于:https://www.cnblogs.com/death3721/p/5070307.html

你可能感兴趣的文章
NHibernate错误:Could not compile the mapping document的解决
查看>>
PHP 之微信小程序支付封装
查看>>
Dynamics CRM SQL转化为FetchXML的在线转化工具
查看>>
Dynamics CRM2011 MspInstallAction failed when installing an Update Rollup
查看>>
找老鼠啊~亏了还是赚了?
查看>>
注意Hibernate4在开发当中的一些改变
查看>>
关于vue的源码调试
查看>>
003.第一个动画:绘制直线
查看>>
vc中的获取时间方式,struct time和time_t(转自百度空间)
查看>>
Civil 3D 中使用COM API导入DEM数据创建曲面
查看>>
spring注解
查看>>
springboot(十八):CORS方式实现跨域
查看>>
打码大致过程
查看>>
python笔记之bisect模块
查看>>
21.Pod的limit和request和资源监控收集服务Heapster
查看>>
wuzhicms字段的添加以及实现下载功能
查看>>
Android一键锁屏源码
查看>>
jQuery 常用getter&setter
查看>>
VBA 相关常数
查看>>
LintCode-54.转换字符串到整数
查看>>