Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Преобразование строки / 9 сообщений из 9, страница 1 из 1
10.10.2019, 14:28
    #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
10.10.2019, 14:37
    #39874619
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразование строки
listtoviewя так понимаю нужно сначала в массив байт преобразовать а потом в шестнадцатеричную строку?
Да. Обратно преобразовывать с учетом dwFlags.
...
Рейтинг: 0 / 0
10.10.2019, 14:39
    #39874620
listtoview
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразование строки
Dima Tlisttoviewя так понимаю нужно сначала в массив байт преобразовать а потом в шестнадцатеричную строку?
Да. Обратно преобразовывать с учетом dwFlags.
просто в исходной строке символов меньше
...
Рейтинг: 0 / 0
10.10.2019, 14:41
    #39874625
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразование строки
listtoviewDima Tпропущено...

Да. Обратно преобразовывать с учетом dwFlags.
просто в исходной строке символов меньше
Это нормально. В первой кодировка похожа на BASE64, она компактнее чем HEX из второй.
...
Рейтинг: 0 / 0
10.10.2019, 14:50
    #39874630
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразование строки
Dima T,
Плюсую за base64. Правда не знаю зачем это автору)
...
Рейтинг: 0 / 0
10.10.2019, 14:52
    #39874632
listtoview
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразование строки
получается сначала нужно декод из base64 сделать
...
Рейтинг: 0 / 0
10.10.2019, 15:04
    #39874647
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразование строки
listtoviewполучается сначала нужно декод из base64 сделатьзачем?
Задача же неизвестна.
...
Рейтинг: 0 / 0
10.10.2019, 15:19
    #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
10.10.2019, 15:24
    #39874671
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразование строки
listtoviewполучается сначала нужно декод из base64 сделать
Да
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / Преобразование строки / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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