В качестве задания я должен найти пароль пользователя, начиная с хеша этого пароля (который был создан с использованием crypt). Итак, я пытаюсь создать переменную соль (двухбуквенную строку), которую затем склоняюсь к использованию в функции crypt, пока результат не совпадет с хешем. Однако, когда я пытаюсь сделать эту переменную солью вместо двух символов, я получаю 5/6 (даже если я определяю соль как массив размера 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)?
Спасибо