gpt4 book ai didi

c - 用 PKCS7 填充 [C]

转载 作者:行者123 更新时间:2023-11-30 17:50:59 34 4
gpt4 key购买 nike

我想用 PKCS7 进行填充:

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");

我得到:

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

但我想要:

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

如何修改我的代码?

提前致谢。

最佳答案

printf("%x ", test2[i]);

您正在以十六进制 (%x) 打印,而使用

printf("pad = %d\n", pad);` you are printing in decimal (%d). 

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

您可能可以稍微调整打印以显示 16 而不是 10,但我认为这不是您要搜索的内容。

关于c - 用 PKCS7 填充 [C],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16934954/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com