iOS MD5加密

md5方法:

 1.导入头文件 #import <CommonCrypto/CommonDigest.h>

 2.写下面的方法 - (NSString *)md5_32bit:(NSString *)input;

    1).传入的参数必须是字符串,NSData 可以转成字符串.

    2).得到的结果就是32个字.

 1 - (NSString *)md5_32bit:(NSString *)input {
 2     //传入参数,转化成char
 3     const char * str = [input UTF8String];
 4     //开辟一个16字节(128位:md5加密出来就是128位/bit)的空间(一个字节=8字位=8个二进制数)
 5     unsigned char md[CC_MD5_DIGEST_LENGTH];
 6     /*
 7      extern unsigned char * CC_MD5(const void *data, CC_LONG len, unsigned char *md)官方封装好的加密方法
 8      把str字符串转换成了32位的16进制数列(这个过程不可逆转) 存储到了md这个空间中
 9      */
10     CC_MD5(str, (int)strlen(str), md);
11     //创建一个可变字符串收集结果
12     NSMutableString * ret = [NSMutableString stringWithCapacity:CC_MD5_DIGEST_LENGTH];
13     for (int i = 0; i < CC_MD5_DIGEST_LENGTH; i++) {
14         /**
15          X 表示以十六进制形式输入/输出
16          02 表示不足两位,前面补0输出;出过两位不影响
17          printf("%02X", 0x123); //打印出:123
18          printf("%02X", 0x1); //打印出:01
19          */
20         [ret appendFormat:@"%02X",md[i]];
21     }
22     //返回一个长度为32的字符串
23     return ret;
24 }

 

posted @ 2016-01-27 15:32  友朋  阅读(2543)  评论(0编辑  收藏  举报