iOS:OC--MD5

  • 1.创建分类(类目)encryptionMD5继承自NSString
iOS:OC--MD5_第1张图片
创建类目.png
  • NSString+encryptionMD5.h
#import 

@interface NSString (encryptionMD5)
//外部调用,用于字符串加密
+(NSMutableString *)stringMD5:(NSString *)string;
@end
  • NSString+encryptionMD5.m
#import "NSString+encryptionMD5.h"
#import 
@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 
//第一步: 导入 iOS DK 自带框架,用于加密(MD5,SHA)
#import 
@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

你可能感兴趣的:(iOS:OC--MD5)