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

jopen 9年前

看完过后,你会学到:

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

2以及类方法的书写,

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

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

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

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

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

[4]测试加密结果

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

wolfhous 正常加密 44bf025d27eea66336e5c1133c3827f7

wolfhous 牛逼加密 44fb461963aae22772a18557787c63b3

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

来自: http://www.cnblogs.com/wolfhous/p/5099970.html