md5 二进制数据

这段代码展示了如何在Objective-C中为NSData对象和NSString对象实现MD5加密。类别NSData+Category提供了针对二进制数据的MD5计算方法,而MyMD5类则用于处理字符串的MD5加密,两者都基于CommonCrypto库。

//二进制数据

#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











评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值