IOS中把字符串加密/IOS中怎么样MD5加密/IOS中NSString分类的实现

时间:2022-03-06 05:08:34

看完过后,你会学到:

1学习IOS开发中的分类实现,

2以及类方法的书写,

3以及字符串的MD5加密/解密.

---------------------------wolfhous------------------

[1]新建工程,新建分类

IOS中把字符串加密/IOS中怎么样MD5加密/IOS中NSString分类的实现

[2]分类的命名方式以及类的选择

IOS中把字符串加密/IOS中怎么样MD5加密/IOS中NSString分类的实现

[3]书写NSString分类的类方法,以及实现类方法,以及MD5如何加密

IOS中把字符串加密/IOS中怎么样MD5加密/IOS中NSString分类的实现

[4]测试加密结果

IOS中把字符串加密/IOS中怎么样MD5加密/IOS中NSString分类的实现

[5]解密:直接百度MD5解密,随便点歌网站进去,输入解密KEY,在我这个Demo中,

wolfhous正常加密44bf025d27eea66336e5c1133c3827f7

wolfhous牛逼加密44fb461963aae22772a18557787c63b3

IOS中把字符串加密/IOS中怎么样MD5加密/IOS中NSString分类的实现

IOS中把字符串加密/IOS中怎么样MD5加密/IOS中NSString分类的实现

-------------------------wolfhous-----------------------

可见,牛逼加密普通网站无法解密,建议开发中,用户在注册时输入密码时,使用该加密.当然,牛逼加密方式N多种,我这只列出一种简单的方式,下面放源码

#import "NSString+md5String.h"

//引入必要头文件

#import <CommonCrypto/CommonDigest.h>

@implementation NSString (md5String)

/** md5 一般加密 */

+ (NSString *)md5String:(NSString *)str

{

const char *myPasswd = [str UTF8String];

unsigned char mdc[16];

CC_MD5(myPasswd, (CC_LONG)strlen(myPasswd), mdc);

NSMutableString *md5String = [NSMutableString string];

for (int i = 0; i< 16; i++) {

[md5String appendFormat:@"%02x",mdc[i]];

}

return md5String;

}

/** md5 NB(牛逼的意思)加密*/

+ (NSString *)md5StringNB:(NSString *)str

{

const char *myPasswd = [str UTF8String];

unsigned char mdc[16];

CC_MD5(myPasswd, (CC_LONG)strlen(myPasswd), mdc);

NSMutableString *md5String = [NSMutableString string];

[md5String appendFormat:@"%02x",mdc[0]];

for (int i = 1; i< 16; i++) {

[md5String appendFormat:@"%02x",mdc[i]^mdc[0]];

}

return md5String;

}

@end