Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Нужно получить Int64-ый хэш по тексту

5.7K
21 июля 2011 года
Lindemann66
193 / / 21.07.2011
Всем привет

Необходимо получить 64-битный хэш-код, вычисленный от определённого текста (размер текста большой)

Какие библиотеки могут решить такую задачу?

Я знаю, что в boost и qt есть функции для вычисления хэша, но никак не могу найти нормальные примеры того, как они работают для 64 битного возвращаемого числа

Буду очень признателен, если кто-то подскажет решение
14
21 июля 2011 года
Phodopus
3.3K / / 19.06.2008
Какой алгоритм то?
240
22 июля 2011 года
aks
2.5K / / 14.07.2006
Действительно какая хэш-функция вам нужна и каким характеристикам (кроме 64-х битного результата) она должна соответствовать? Так то и самому можно 64-х битную хэш функцию написать за пару минут. Только не понятно подходит ли она для вас.
5.7K
22 июля 2011 года
Lindemann66
193 / / 21.07.2011
Спасибо за ответы:)
Но я уже уже решил задачу, правда не под это условие

Код:
//вычисление 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;
}


Не стал заморачиваться с 64-битностью, получаю хэш в HEX формате
260
22 июля 2011 года
Ramon
1.1K / / 16.08.2003
Цитата: Lindemann66
Спасибо за ответы:)
Но я уже уже решил задачу, правда не под это условие

Код:
//вычисление 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;
}


Не стал заморачиваться с 64-битностью, получаю хэш в HEX формате



Разреште поинтересоваться, назначение у хэш-значений то какое?

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог