LINUX.ORG.RU

Проблема с выводом хеш-суммы

 ,


0

2

Приветствую.Собрал библиотеку scrypt-crypto, генерирую хеш-сумму, пробую выводить через cout, но какая то проблема с кодировкой. Вернее, скорее всего надо конвертировать в hex?

int main(i)
{
	const char  input[] = "hi";
	char  output[100];
	scrypt_1024_1_1_256("hi", output);
	std::cout << std::hex << output << std::endl;
	return 0;
}
тык
Как решить?
P.S: Скрин новей, чем символы в input.



Последнее исправление: continue (всего исправлений: 1)

Скорее всего там символы, которых нет в твоём шрифте.

WRG ★★★★
()

printf спасёт отца русской демократии

mm3 ★★★
()

надо определиться с желаемым рузультатом - если hex-dump вида C001C00DE000, то не может быть проблемы с кодировкой, поскольку там латиница. И проблема в том, как указываете std::cout тип входных и формат выходных данных.

Если желамый результат что-то другое - то может и с кодировкой.

GPFault ★★
()

у тебя там бинарная херня какая-то, непечатаемая. приведи ее к hex строке

anonymous
()

Как решить?

Выводить циклом по одному символу, std::hex на строки (а тут char *) не влияет.

xaizek ★★★★★
()
Ответ на: комментарий от registrant27492

Да, не досказал. Будет в той вселенной, в которой добавят каст char -> unsigned char -> int, например. Тогда уже и про необходимость std::setw и std::setfill стоит напомнить.

xaizek ★★★★★
()

У тебя массив байтов, которые не являются символами, проитерируйся через массив и выведи каждый байт через std::hex, std::setfill, std::setw и приведение к int. Ещё задумайся об использовании std::array (обёртка поверх сишных массивов без оверхеда).

Deleted
()
Последнее исправление: romeo250501 (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.