未經(jīng)博主允許,禁止轉發(fā),以下代碼僅供參考
//以下方法為簡版:可以被破解md5在線解密破解
- (NSString*) md5Str{
constchar*myPassword = [selfUTF8String];
// 0 - 255--無符號16位
unsigned char md5c[16];
//參數(shù)一:密碼,參數(shù)二:求參數(shù)一得到長度 參數(shù)三:返回一個16位的數(shù)組
CC_MD5(myPassword, (CC_LONG)strlen(myPassword), md5c);
//任何一個0-255之間的數(shù)最多用2位16進制
// 1111 1111ff101
NSMutableString*md5Str = [NSMutableStringstring];
for(inti =0; i <16; i++){
[md5StrappendFormat:@"%02x",md5c[i] ];
}
returnmd5Str;
}
//密碼加強版,讓解密人懷疑人生,簡單的加條異或對比就行,相同為0,不同為1
- (NSString*) md5StrXor{
constchar*myPassword = [selfUTF8String];
// 0 - 255
unsignedcharmd5c[16];
CC_MD5(myPassword, (CC_LONG)strlen(myPassword), md5c);
//任何一個0-255之間的數(shù)最多用2位16進制
// 1111 1111ff101
NSMutableString*md5Str = [NSMutableStringstring];
[md5StrappendFormat:@"%02x",md5c[0]];
for(inti =1; i <16; i++){
[md5StrappendFormat:@"%02x",md5c[i] ^ md5c[0]];
}
returnmd5Str;
}