码迷,mamicode.com
首页 > Web开发 > 详细

源码0603-10-掌握-MD5加密-11-掌握-HTTPS

时间:2017-03-24 18:07:19      阅读:196      评论:0      收藏:0      [点我收藏+]

标签:服务器   init   text   turn   利用   elf   conf   challenge   receive   

 

 

//
//  ViewController.m
//  10-掌握-MD5加密
#import "ViewController.h"
#import "NSString+Hash.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    
    // 用户输入的还是520it
    // 加密:21bfcc4c2625469d8ec6f3d710dcb0fe
    // 乱序:21bfcc4c2625469d8ec6f3d710dcb0fe
    
    NSString *text = @"520it";
    NSString *md = [text md5String];

    
    NSLog(@"%@", md);
}

@end



//
//  ViewController.m
//  11-掌握-HTTPS
#import "ViewController.h"

@interface ViewController () <NSURLSessionTaskDelegate>

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    
    NSURLSession *session = [NSURLSession sessionWithConfiguration:[NSURLSessionConfiguration defaultSessionConfiguration] delegate:self delegateQueue:[[NSOperationQueue alloc] init]];
    
    NSURLSessionDataTask *task = [session dataTaskWithURL:[NSURL URLWithString:@"https://www.apple.com/"] completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
        NSLog(@"%@", [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]);
    }];
    
    [task resume];
}

#pragma mark - <NSURLSessionTaskDelegate>
/**
 * challenge : 挑战、质询
 * completionHandler : 通过调用这个block,来告诉URLSession要不要接收这个证书
 */
- (void)URLSession:(NSURLSession *)session task:(NSURLSessionTask *)task didReceiveChallenge:(NSURLAuthenticationChallenge *)challenge completionHandler:(void (^)(NSURLSessionAuthChallengeDisposition, NSURLCredential *))completionHandler
{
    // 如果不是服务器信任类型的证书,直接返回
    if (![challenge.protectionSpace.authenticationMethod isEqualToString:NSURLAuthenticationMethodServerTrust]) return;
    
    // void (^)(NSURLSessionAuthChallengeDisposition, NSURLCredential *)
    // NSURLSessionAuthChallengeDisposition : 如何处理这个安全证书
    // NSURLCredential :安全证书
    
    // 根据服务器的信任信息创建证书对象
//    NSURLCredential *crdential = [NSURLCredential credentialForTrust:challenge.protectionSpace.serverTrust];

    // 利用这个block说明使用这个证书
//    if (completionHandler) {
//        completionHandler(NSURLSessionAuthChallengeUseCredential, crdential);
//    }
    
    !completionHandler ? : completionHandler(NSURLSessionAuthChallengeUseCredential, challenge.proposedCredential);
}

@end

 

源码0603-10-掌握-MD5加密-11-掌握-HTTPS

标签:服务器   init   text   turn   利用   elf   conf   challenge   receive   

原文地址:http://www.cnblogs.com/laugh/p/6612353.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!