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


