首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用PKCS7填充[C]

使用PKCS7填充[C]
EN

Stack Overflow用户
提问于 2013-06-05 16:25:07
回答 1查看 2.4K关注 0票数 0

我想用PKCS7做填充:

代码语言:javascript
复制
char *test1 = "azertyuiopqsdfgh";
char *test2 = malloc(32*sizeof(char));

memcpy(test2, test1, strlen(test1));

char pad = (char)(32-strlen(test1));
printf("pad = %d\n", pad);

for(int i = strlen(test1) ; i < 32 ; i++) {
    test2[i] = pad;
}
for (int i = 0 ; i < 32 ; i++)
    printf("%x ", test2[i]);
printf("\n");

我得到了:

代码语言:javascript
复制
pad = 16

61 7a 65 72 74 79 75 69 6f 70 71 73 64 66 67 68 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10

但我想:

代码语言:javascript
复制
pad = 16

61 7a 65 72 74 79 75 69 6f 70 71 73 64 66 67 68 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16

如何修改我的代码?

提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-06-05 16:33:03

使用

代码语言:javascript
复制
printf("%x ", test2[i]);

您使用十六进制(%x)进行打印,而使用

代码语言:javascript
复制
printf("pad = %d\n", pad);` you are printing in decimal (%d). 

(十进制) 16 => (十六进制) 10,所以您显示的内容是正确的。

您可能会使用打印来显示16,而不是10,但我不认为这是您正在搜索的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16934954

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档