如何使 NSData 上的十六进制必须为 2 位
我尝试在 iPhone 上使用加密 aes 并成功,但我想要的 nsdata 结果必须是 2 位十六进制,我尝试打印此代码的密码结果:
unsigned char ciphertext[16];
....
...
...
...
for (int i=0; i<sizeof(ciphertext); i++) {
NSLog(@"ciphertext[%d] : %x ",i,ciphertext[i]);
}
结果是:
ciphertext[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
ciphertext[14] : 7 <== 这是问题,如何使其成为 07 ?
ciphertext[15] : 44
请帮我将这个六进制转换为 2 位数字? 问候,
I try use encrypt aes on iphone and success, but the result i want on nsdata must be 2 digit hexa, i try to print the result of cipher whit this code :
unsigned char ciphertext[16];
....
...
...
...
for (int i=0; i<sizeof(ciphertext); i++) {
NSLog(@"ciphertext[%d] : %x ",i,ciphertext[i]);
}
The result is :
ciphertext[0] : 43
ciphertext[1] : d4
ciphertext[2] : a5
ciphertext[3] : ee
ciphertext[4] : 24
ciphertext[5] : a5
ciphertext[6] : 31
ciphertext[7] : 62
ciphertext[8] : 1c
ciphertext[9] : 99
ciphertext[10] : 88
ciphertext[11] : 29
ciphertext[12] : d6
ciphertext[13] : 97
ciphertext[14] : 7 <== this is problem, how make this to be 07 ?
ciphertext[15] : 44
Please help me to make this hexa to 2 digit ?
Regards,
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以使用:
有关更多选项,请参阅 IEEE printf 规范,即由 字符串格式说明符 文档。
要将您的
char[]
存储到 NSData,您可以执行以下操作:You can use:
See the IEEE printf specification for further options, that is referenced by the String Format Specifiers doc.
To store your
char[]
to a NSData, you could do: