%x即按十六进制输出,英文字母小写,右对齐。
%02X有以下变化:英文字母变大写,如果输出字符不足两位的,输出两位宽度,右对齐,空的一位补0。超过两位的,全部输出。
如果不用 %02x
会出现少了
f940dfc72a4eee0a9c95c3ac4fe7eb6 -- 31位
f940dfc72a4e0ee0a9c95c3ac4fe7eb6 -- 32位
//
// ViewController.m
// 测试加密
//
// Created by yizhichao on 2018/6/23.
// Copyright © 2018年 yizhichao. All rights reserved.
//
#import "ViewController.h"
#import "NSData+Encryption.h"
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
NSString *plainText = @"cmcc2017";//明文
NSData *plainTextData = [plainText dataUsingEncoding:NSUTF8StringEncoding];
NSString *testString = @"SYSTEM00000000000000000000000000";
NSData *testData = [testString dataUsingEncoding: NSUTF8StringEncoding];
Byte *testByte = (Byte *)[testData bytes];
//byte转换为NSData类型,以便下边加密方法的调用
NSData *keyData = [[NSData alloc] initWithBytes:testByte length:32];
//
NSData *cipherTextData = [plainTextData AES256EncryptWithKey:keyData];
Byte *plainTextByte = (Byte *)[cipherTextData bytes];
for(int i=0;i
printf("%02x",plainTextByte[i]);
}
}