//вычисление hash-функции
CString SHA1Hash(CString text) {
TCHAR* hash = new TCHAR[50];
CSHA1 sha;
unsigned char* text_to_hash = reinterpret_cast<unsigned char *>(text.GetBuffer(text.GetLength()));
sha.Update(text_to_hash, text.GetLength());
sha.Final();
sha.ReportHash(hash, CSHA1::REPORT_HEX_SHORT);
CString res = fromTChar(hash);
delete hash;
return res;
}
Нужно получить Int64-ый хэш по тексту
Необходимо получить 64-битный хэш-код, вычисленный от определённого текста (размер текста большой)
Какие библиотеки могут решить такую задачу?
Я знаю, что в boost и qt есть функции для вычисления хэша, но никак не могу найти нормальные примеры того, как они работают для 64 битного возвращаемого числа
Буду очень признателен, если кто-то подскажет решение
Какой алгоритм то?
Действительно какая хэш-функция вам нужна и каким характеристикам (кроме 64-х битного результата) она должна соответствовать? Так то и самому можно 64-х битную хэш функцию написать за пару минут. Только не понятно подходит ли она для вас.
Но я уже уже решил задачу, правда не под это условие
Код:
Не стал заморачиваться с 64-битностью, получаю хэш в HEX формате
Цитата: Lindemann66
Спасибо за ответы:)
Но я уже уже решил задачу, правда не под это условие
Не стал заморачиваться с 64-битностью, получаю хэш в HEX формате
Но я уже уже решил задачу, правда не под это условие
Код:
//вычисление hash-функции
CString SHA1Hash(CString text) {
TCHAR* hash = new TCHAR[50];
CSHA1 sha;
unsigned char* text_to_hash = reinterpret_cast<unsigned char *>(text.GetBuffer(text.GetLength()));
sha.Update(text_to_hash, text.GetLength());
sha.Final();
sha.ReportHash(hash, CSHA1::REPORT_HEX_SHORT);
CString res = fromTChar(hash);
delete hash;
return res;
}
CString SHA1Hash(CString text) {
TCHAR* hash = new TCHAR[50];
CSHA1 sha;
unsigned char* text_to_hash = reinterpret_cast<unsigned char *>(text.GetBuffer(text.GetLength()));
sha.Update(text_to_hash, text.GetLength());
sha.Final();
sha.ReportHash(hash, CSHA1::REPORT_HEX_SHORT);
CString res = fromTChar(hash);
delete hash;
return res;
}
Не стал заморачиваться с 64-битностью, получаю хэш в HEX формате
Разреште поинтересоваться, назначение у хэш-значений то какое?