作为一项任务,我需要从一个密码的哈希值(使用crypt生成)开始查找用户的密码。因此,我正在尝试创建一个变量salt(2个字母的字符串),然后计划在crypt函数中使用它,直到结果与哈希值匹配。然而,当我尝试制作这个变量salt时,我得到了5/6个字符,即使我将salt定义为大小为2的数组。有人知道如何解决这个问题吗?我知道这是一个困难的解释,但请查看下面的代码(和结果)。
char salt[2];
for (int i = 65; i < 91; i++)
{
salt[0] = i;
for (int j = 65; j < 91; j++)
{
salt[1] = j;
printf("%s\n", salt);
}
}
结果: AA �g AB �g AC �g AD �g AE �g AF �g ... ... ... ZW �g ZX �g ZY �g ZZ �g
这些额外的字符(=�g)是从哪里来的?
谢谢