程序设计 MD5加密
应用手机号的加密 返回到后台。
头文件
#import <CommonCrypto/CommonDigest.h>
// 调用
[[NSUserDefaults standardUserDefaults]setObject:[S md5:[S makeOpaqueUserData:phone]] forKey:@""];
// md5
+ (NSString *)makeOpaqueUserData:(NSString *)input {
unsigned char digest[CC_SHA1_DIGEST_LENGTH];
NSData* b = [input dataUsingEncoding:NSUTF8StringEncoding];
if (CC_SHA1([b bytes], (CC_LONG)[b length], digest)) {
NSData *enc = [NSData dataWithBytes:digest length:CC_SHA1_DIGEST_LENGTH];
return [enc base64EncodedStringWithOptions:0];
}
return NULL;
}
+ (NSString *)md5:(NSString *) input
{
const char *cStr = [input UTF8String];
unsigned char digest[CC_MD5_DIGEST_LENGTH];
CC_MD5( cStr, strlen(cStr), digest ); // This is the md5 call
NSMutableString *output = [NSMutableString stringWithCapacity:CC_MD5_DIGEST_LENGTH * 2];
for(int i = 0; i < CC_MD5_DIGEST_LENGTH; i++)
[output appendFormat:@"%02x", digest[i]];
return output;
}