powered by simpleCommunicator - 2.0.58     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Преобразование строки
9 сообщений из 9, страница 1 из 1
Преобразование строки
    #39874607
listtoview
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как из такой строки
Код: plaintext
1.
std::string hash = "Unfv3tbjVgExeJ6l6L9GwLsom0w=";


получить такую строку
Код: plaintext
1.
std::string newhash = "5277EFDED6E3560131789EA5E8BF46C0BB289B4C";


?

первая строка была получена
Код: plaintext
1.
2.
3.
std::wstring result(cbSize, 0);
if (!CryptBinaryToString(buffer.data(), buffer.size(), dwFlags | CRYPT_STRING_NOCRLF, &result[0], &cbSize)) return {};
return result.c_str();



я так понимаю нужно сначала в массив байт преобразовать а потом в шестнадцатеричную строку?
...
Рейтинг: 0 / 0
Преобразование строки
    #39874619
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
listtoviewя так понимаю нужно сначала в массив байт преобразовать а потом в шестнадцатеричную строку?
Да. Обратно преобразовывать с учетом dwFlags.
...
Рейтинг: 0 / 0
Преобразование строки
    #39874620
listtoview
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima Tlisttoviewя так понимаю нужно сначала в массив байт преобразовать а потом в шестнадцатеричную строку?
Да. Обратно преобразовывать с учетом dwFlags.
просто в исходной строке символов меньше
...
Рейтинг: 0 / 0
Преобразование строки
    #39874625
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
listtoviewDima Tпропущено...

Да. Обратно преобразовывать с учетом dwFlags.
просто в исходной строке символов меньше
Это нормально. В первой кодировка похожа на BASE64, она компактнее чем HEX из второй.
...
Рейтинг: 0 / 0
Преобразование строки
    #39874630
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima T,
Плюсую за base64. Правда не знаю зачем это автору)
...
Рейтинг: 0 / 0
Преобразование строки
    #39874632
listtoview
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
получается сначала нужно декод из base64 сделать
...
Рейтинг: 0 / 0
Преобразование строки
    #39874647
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
listtoviewполучается сначала нужно декод из base64 сделатьзачем?
Задача же неизвестна.
...
Рейтинг: 0 / 0
Преобразование строки
    #39874666
listtoview
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
std::string WC2MB(const std::wstring& wstr, DWORD locale)
{
	if (wstr.empty()) return {};
	int sz = WideCharToMultiByte(locale, 0, &wstr[0], (int)wstr.size(), 0, 0, 0, 0);
	std::string res(sz, 0);
	WideCharToMultiByte(locale, 0, &wstr[0], (int)wstr.size(), &res[0], sz, 0, 0);
	return res;
}

std::wstring MB2WC(const std::string& str, DWORD locale)
{
	if (str.empty()) return {};
	int sz = MultiByteToWideChar(locale, 0, &str[0], (int)str.size(), 0, 0);
	std::wstring res(sz, 0);
	MultiByteToWideChar(locale, 0, &str[0], (int)str.size(), &res[0], sz);
	return res;
}

std::string BIN2HEX(std::vector<BYTE> data)
{
	std::stringstream ss;
	size_t count = data.size();
	for (size_t k = 0; k < count; k++) {
		ss << std::setfill('0') << std::setw(2) << std::hex << int(data[k]);
	};
	return ss.str();
}

std::wstring HASH2HEX(std::string hash) {
	return MB2WC(BIN2HEX(Base64::decode(hash)), 1251);
}

std::string test = "Unfv3tbjVgExeJ6l6L9GwLsom0w";
std::wstring test2 = HASH2HEX(test);



вопрос снят
...
Рейтинг: 0 / 0
Преобразование строки
    #39874671
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
listtoviewполучается сначала нужно декод из base64 сделать
Да
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Преобразование строки
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]