iOS开发中-关于MD5的一点点认识

2017-07-20  本文已影响0人  暗夜北斗

       首先对MD5加密做一个简单的了解:MD5是一个安全的散列算法,输入两个不同的明文不会得到相同的输出值,根据输出值,不能得到原始的明文,即其过程不可逆;所以要解密MD5没有现成的算法,只能用穷举法,把可能出现的明文,用MD5算法散列之后,把得到的散列值和原始的数据形成一个一对一的映射表,通过比在表中比破解密码的MD5算法散列值,通过匹配从映射表中找出破解密码所对应的原始明文。

        苹果已经集成了MD5加密,开发的时候只需要引入框架就可以了。

1、导入头文件:

#import <CommonCrypto/CommonDigest.h>

2、MD5加密方法:

- (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;

}

上一篇下一篇

猜你喜欢

热点阅读