IOS中把字符串加密/IOS中怎么样MD5加密/IOS中NSString分类的实现
看完过后,你会学到:
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