我尝试在iphone上使用加密aes和成功,但我想在nsdata上的结果必须是2位数六进制,我尝试打印密码whit的结果这段代码:
unsigned char ciphertext[16];
....
...
...
...
for (int i=0; i<sizeof(ciphertext); i++) {
NSLog(@"ciphertext[%d] : %x ",i,ciphertext[i]);
}
结果是:
密文[0]:43
密文[1]:d4
密文[2]:a5
密文[3]:ee
密文[4]:24
密文[5]:a5
密文[6]:31
密文[7]:62
密文[8]:1c
密文[9]:99
密文[10]:88
密文[11]:29
密文[12]:d6
密文[13]:97
密文[14]:7&lt; ==这是问题,怎么使这个成为07?
密文[15]:44
请帮我把这个六位数设为2位数? 的问候,
答案 0 :(得分:1)
您可以使用:
NSLog(@"ciphertext[%d] : %02x ",i,ciphertext[i]);
请参阅IEEE printf specification了解String Format Specifiers doc引用的更多选项。
要将char[]
存储到NSData,您可以执行以下操作:
NSData *data = [NSData dataWithBytes:ciphertext length:16];