- 1.创建分类(类目)encryptionMD5继承自NSString

创建类目.png
- NSString+encryptionMD5.h
#import <Foundation/Foundation.h>
@interface NSString (encryptionMD5)
//外部调用,用于字符串加密
+(NSMutableString *)stringMD5:(NSString *)string;
@end
- NSString+encryptionMD5.m
#import "NSString+encryptionMD5.h"
#import <CommonCrypto/CommonCrypto.h>
@implementation NSString (encryptionMD5)
+(NSMutableString *)stringMD5:(NSString *)string
{
const char *data = [string UTF8String];
unsigned char result[CC_MD5_DIGEST_LENGTH];
CC_MD5(data, (CC_LONG)strlen(data), result);
NSMutableString *mString = [NSMutableString string];
for (int i = 0; i < CC_MD5_DIGEST_LENGTH; i++) {
//02:不足两位前面补0, %02x:十六进制数
[mString appendFormat:@"%02x",result[i]];
}
return mString;
}
@end
- ViewController.h
#import <UIKit/UIKit.h>
//第一步: 导入 iOS DK 自带框架,用于加密(MD5,SHA)
#import <CommonCrypto/CommonCrypto.h>
@interface ViewController : UIViewController
@end
- ViewController.m
#import "ViewController.h"
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
//1. 准备需要加密的字符串
// NSString *string = @"我爱 我的 同桌";
//2. 调用加密使用的函数
//参数1:加密的内容 参数2:要加密内容的长度 3.加密之后的长度
// const char *data = [string UTF8String];
//
// unsigned char result[CC_MD5_DIGEST_LENGTH];
//
// CC_MD5(data,(CC_LONG)strlen(data) , result);
//
// //3.创建可变字符串保存结果
// NSMutableString *mString = [NSMutableString string];
//
// //4.遍历结果数组进行添加
// for (int i = 0; i < CC_MD5_DIGEST_LENGTH; i++) {
// [mString appendFormat:@"%02x",result[i]];
// }
// NSLog(@"%@",mString);
#pragma mark --- 图片进行加密
// NSString *path = [[NSBundle mainBundle]pathForResource:@"Secret" ofType:@"jpg"];
// NSData *data = [NSData dataWithContentsOfFile:path];
// //加密
// unsigned char result[CC_MD5_DIGEST_LENGTH];
// CC_MD5((__bridge const void *)(data), (CC_LONG)data.length, result);
// NSMutableString *mString = [NSMutableString string];
// for (int i = 0; i < CC_MD5_DIGEST_LENGTH; i++) {
// [mString appendFormat:@"%02x",result[i]];
// }
// NSLog(@"%@",mString);
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end