MD5加密:HASH算法一种、 是天生32位的数字字母肴杂码。
特点:
1、恣意数据得出的MD5值长度都是32
2、对原数据举行任何改动,所得到的MD5值都有很大区别
应用:
紧张运用在数字署名、口令加密等方面
MD5改进(加盐等):
如今的MD5已不再是绝对安全,对此,可以对MD5稍作改进,以增加解密的难度
加盐(Salt):在明文的固定位置插入随机串,然后再举行MD5
写一个NSString分类,NSString+wxMD5
#import "NSString+wxMD5.h"#import <CommonCrypto/CommonDigest.h>@implementation NSString (wxMD5)+ (NSString *)getmd5StrNSString *)str{ //传入参数,转化成char const char *cStr = [str UTF8String]; //开发一个16字节的空间 unsigned char result[16]; /* extern unsigned char * CC_MD5(const void *data, CC_LONG len, unsigned char *md)官方封装好的加密方法 把str字符串转换成了32位的16进制数列(这个过程不可逆转) 存储到了md这个空间中 */ CC_MD5(cStr, (unsigned)strlen(cStr), result); return [NSString stringWithFormat"%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X", result[0], result[1], result[2], result[3], result[4], result[5], result[6], result[7], result[8], result[9], result[10], result[11], result[12], result[13], result[14], result[15] ];}@endmd5解密网站:https://www.cmd5.com
使用示例
NSString *str = @"123Man456"; NSString *md5str = [NSString getmd5Str:str]; NSLog(@"%@",md5str); //加盐后 NSString *salt = @"asdkqwkfqlwflqfwlMAk"; NSString *newStr = [str stringByAppendingString:salt]; NSString *newMd5str = [NSString getmd5Str: newStr]; NSLog(@"%@",newMd5str); |