IOS进行md5加密和哈希加密算法的方法
ios加密算法的选择
我写了一个分类,废话不多说,直接上代码
#import <Foundation/Foundation.h> @interface NSString (ShaneZhang) // MD5加密 - (NSString *)md5FromString; // 哈西加密 - (NSString*)getSha1FromString; @end
// // NSString+ShaneZhang.m // PostDemo // // Created by shanezhang on 14-8-21. // Copyright (c) 2014年 TimeRadio. All rights reserved. // #import "NSString+ShaneZhang.h" #import <CommonCrypto/CommonDigest.h> @implementation NSString (ShaneZhang) // MD5加密 - (NSString *)md5FromString { const char *cStr = [self UTF8String]; unsigned char result[CC_MD5_DIGEST_LENGTH]; CC_MD5(cStr, strlen(cStr), result); NSMutableString *hash = [NSMutableString string]; for(int i = 0; i < CC_MD5_DIGEST_LENGTH; i++) { [hash appendFormat:@"%02X",result[i]]; } return [hash lowercaseString]; } - (NSString*)getSha1FromString { const char *cstr = [self cStringUsingEncoding:NSUTF8StringEncoding]; NSData *data = [NSData dataWithBytes:cstr length:self.length]; uint8_t digest[CC_SHA1_DIGEST_LENGTH]; CC_SHA1(data.bytes, data.length, digest); NSMutableString* output =
[NSMutableString stringWithCapacity:CC_SHA1_DIGEST_LENGTH * 2]; for(int i = 0; i < CC_SHA1_DIGEST_LENGTH; i++) [output appendFormat:@"%02x", digest[i]]; return output; } @end