//二进制数据
#import <Foundation/Foundation.h>
@interface NSData (Category)
- (NSString*)md5;
@end
#import "NSData+Category.h"
#import <CommonCrypto/CommonDigest.h>
@implementation NSData (Category)
- (NSString*)md5
{
unsigned char result[16];
CC_MD5( self.bytes, self.length, result ); // This is the md5 call
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]
];
}
@end
//md5 字符串
#import <Foundation/Foundation.h>
@interface MyMD5 : NSObject {
}
/*****
2011.09.15
创建: shen
MD5 加密
*****/
+(NSString *) md5: (NSString *) inPutText ;
@end
#import "MyMD5.h"
#import "CommonCrypto/CommonDigest.h"
@implementation MyMD5
+(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];
}
@end
这段代码展示了如何在Objective-C中为NSData对象和NSString对象实现MD5加密。类别NSData+Category提供了针对二进制数据的MD5计算方法,而MyMD5类则用于处理字符串的MD5加密,两者都基于CommonCrypto库。
1115

被折叠的 条评论
为什么被折叠?



