iOS如何使用MD5加密

2016-07-28  本文已影响213人  BYQiu

在登录注册时,经常采用MD5加密技术对密码,也用于对敏感数据进行加密。本文简单介绍了iOS中MD5加密的使用方式。

// passwordStr 为密码字符串
const char * myPassword = [passwordStr UTF8String];   
unsigned char md5c[16];    
CC_MD5(myPassword, (CC_LONG)strlen(myPassword), md5c);    
NSMutableString *md5Str = [[NSMutableString alloc] initWithCapacity:100];
//md5c[1] -> 0x16;    
for (int i = 0; i < 16; i++) {        
  [md5Str appendFormat:@"%02x",md5c[i]];
}
// md5Str 为加密后的密码

但是这个仅是简单加密后的MD5密码,容易被破解,破解方法可参照
MD5解密

 const char * myPassword = [passwordStr UTF8String];    
unsigned char md5c[16];    
CC_MD5(myPassword, (CC_LONG)strlen(myPassword), md5c);    
NSMutableString *md5Str = [[NSMutableString alloc] initWithCapacity:100];    
//    md5c[1] -> 0x16;    
[md5Str appendFormat:@"%02x",md5c[0]];    
for (int i = 1; i < 16; i++) {        
[md5Str appendFormat:@"%02x",md5c[i]^md5c[0]];   
 }
- (NSString *)md5StrXor {    
const char * myPassword = [self UTF8String];    
unsigned char md5c[16];    
CC_MD5(myPassword, (CC_LONG)strlen(myPassword), md5c);    
NSMutableString *md5Str = [[NSMutableString alloc] initWithCapacity:100];    
//    md5c[1] -> 0x16;    
[md5Str appendFormat:@"%02x",md5c[0]];    
for (int i = 1; i < 16; i++) {       
  [md5Str appendFormat:@"%02x",md5c[i]^md5c[0]];    
}   
 return [md5Str copy];
}
上一篇 下一篇

猜你喜欢

热点阅读