Вычислить контрольную сумму строки

Здравствуйте я хочу вычислить контрольную сумму строки например std::string name = "victor"; в гугле я нашел реализации на алгоритмах crc, md5 а так-же множество разных вариантов, но все они использовались для файлов или таблиц, а как лучше будет вычислить контрольную сумму для строк?


Ответы (1 шт):

Автор решения: Alexey Nikolaev

В C++11 в стандартную библиотеку добавили алгоритмы расчета hash, с помощью которой вы можете рассчитывать контрольную сумму:

// hash example
#include <iostream>
#include <functional>
#include <string>

int main ()
{
    std::string str1 ("Test");
    std::string str2 ("Test");
    
    std::hash<std::string> str_hash;
    
    std::cout << "same hashes:\n" << std::boolalpha;
    std::cout << "str1 and str2: " << (str_hash(str1)==str_hash(str2)) << '\n';
    
    return 0;
} 
→ Ссылка