Всмысле как? Просто вызываешь хеширующую функцию, с строкой в виде параметра. Если надо понять, как они выглядят, то вот примеры. SDBM Hash: unsigned int SDBMHash(char *str) { unsigned int hash = 0; while(*str++) hash = str + (hash << 6) + (hash << 16) - hash; return hash; } C unsigned int SDBMHash(char *str) { unsigned int hash = 0; while(*str++) hash = str + (hash << 6) + (hash << 16) - hash; return hash; } FNV32: //Возможны коллизии, так что следует использовать функцию FNV выше битности #define FNV32_PRIME 0x01000193U unsigned int FNV32(char *str) { unsigned int hash = 0x811C9DC5; while(*str) { hash *= FNV32_PRIME; hash ^= (unsigned int)*str++; } return hash; } C //Возможны коллизии, так что следует использовать функцию FNV выше битности #define FNV32_PRIME 0x01000193U unsigned int FNV32(char *str) { unsigned int hash = 0x811C9DC5; while(*str) { hash *= FNV32_PRIME; hash ^= (unsigned int)*str++; } return hash; } Выхлоп: Original string: Kernel Bitch SDBM Hash: 3171522438 FNV32 Hash: 4159925106 Code Original string: Kernel Bitch SDBM Hash: 3171522438 FNV32 Hash: 4159925106 Если нужна конкретно библиотека для хеширования, то рекомендую посмотреть в сторону OpenSSL или CryptoPP, там куча криптографических функций и не только хеш-функций. P.S: если нужно, чтоб хеширование было предкомпилированным, используй constexpr .
Никак, это же хеш-функция. "Безвозвратное шифрование". Однако, я думаю есть какие-то специфические атаки на SDBM, попробуй поискать.