MD5 加密

字符串加密

    // 1. 准备好一个字符串
    NSString *string = @"asdasfaf";
    
    // 2. MD5加密是基于C语言的. 所以要把这个字符串转化成C的字符串
    const char *fooData = [string UTF8String];
    // 3. 创建一个字符串数组 接受MD5的值
    unsigned char result[CC_MD5_DIGEST_LENGTH];
    // 4. 计算MD5的值
    // 第一个参数 : 表示要加密的字符串
    // 第二个参数 : 获取要加密字符串的长度
    // 第三个参数 : 接受结果的数组
    CC_MD5(fooData, (CC_LONG)strlen(fooData), result);
    // 5. 保存结果的字符串
    NSMutableString *resultString = [NSMutableString string];
    // 6. 从result数组中获取最终结果
    for ( int i = 0 ; i < CC_MD5_DIGEST_LENGTH; i ++) {
        [resultString appendFormat:@"%02X", result[i]];
    }
    NSLog(@"%@", resultString);

 

数组加密 

 

 

    NSArray *array = @[@"1", @"2"];
    NSString *document = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)objectAtIndex:0];
    NSString *savePath = [document stringByAppendingPathComponent:@"array.plast"];
    [array writeToFile:savePath atomically:YES];
    
    NSData *data = [NSData dataWithContentsOfFile:savePath];
    
    // 1. 创建一个MD5的对象
    CC_MD5_CTX md5;
    // 2. 初始化MD5的对象
    CC_MD5_Init(&md5);
    // 3. 准备MD5的加密
    CC_MD5_Update(&md5, data.bytes, (CC_LONG)data.length);
    
    // 4. 准备一个字符串数组, 存储MD5加密之后的数据
    unsigned char result[CC_MD5_DIGEST_LENGTH];
    // 5. 结束MD5的加密
    CC_MD5_Final(result, &md5);
    
    NSMutableString *resultString = [NSMutableString string];
    for (int i = 0; i < CC_MD5_DIGEST_LENGTH; i ++) {
        [resultString appendFormat:@"%02X", result[i]];
    }
    NSLog(@"result == %@", resultString);
}

 

posted @ 2016-04-07 20:24  二十几岁的某一天  阅读(177)  评论(0编辑  收藏  举报