C语言实现hash/sdbm算法(含源码)
Hash算法简介
Hash,又称散列,杂凑,哈希,是将任意长度的消息压缩到某一固定长度的消息摘要的过程。哈希可以被用于验证数据的完整性和安全性,因为无论输入数据的大小,输出的哈希值都是固定的。常见的哈希算法有MD5、SHA-1和SHA-256等。
sdbm算法
sdbm算法(SDBM Hash Function)是一种比较简单的哈希算法,由以色列犹太人David J. Bernstein发明。sdbm算法的核心思想是将输入的键转换为一个数字,然后对哈希表的大小取余数得到该键在表中的位置。
sdbm算法的实现非常简洁,可读性高,适合用作中小规模的哈希表实现。下面是C语言实现的sdbm算法示例代码:
unsigned long sdbm(char *str