md5方法: 1.導入頭文件 #import <CommonCrypto/CommonDigest.h> 2.寫下麵的方法 - (NSString *)md5_32bit:(NSString *)input; 1).傳入的參數必須是字元串,NSData 可以轉成字元串. 2).得到的結果就是32個字
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 }