您的位置:首页 > 移动开发 > IOS开发

iOS 分类之NSString+MD5

2016-05-26 17:35 429 查看
NSString+MD5.h

//
//  NSString+MD5.h
//  Shangzun
//
//  Created by 黄健 on 16/4/8.
//  Copyright © 2016年 黄健. All rights reserved.
//

#import <Foundation/Foundation.h>

@interface NSString (MD5)

// MD5的32位小写加密
- (NSString*)MD5_32BitLower;

// MD5的32位大写加密
- (NSString*)MD5_32BitUpper;

@end


NSString+MD5.m

//
//  NSString+MD5.m
//  Shangzun
//
//  Created by 黄健 on 16/4/8.
//  Copyright © 2016年 黄健. All rights reserved.
//

#import "NSString+MD5.h"
#import <CommonCrypto/CommonDigest.h>

@implementation NSString (HJMD5)

- (NSString*)MD5_32BitLower
{
const char *cStr = [self UTF8String];
unsigned char result[16];

NSNumber *num = [NSNumber numberWithUnsignedLong:strlen(cStr)];
CC_MD5( cStr,[num intValue], 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];
}

- (NSString*)MD5_32BitUpper
{
const char *cStr = [self UTF8String];
unsigned char result[16];

NSNumber *num = [NSNumber numberWithUnsignedLong:strlen(cStr)];
CC_MD5( cStr,[num intValue], 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]
] uppercaseString];
}

@end
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  nsstring md5 加密