`

UNIX: System-V-Hash 生成算法

阅读更多
尽量少产生collision

int ELFhash(char* key) {
    unsigned long h = 0;
    while(*key) {
        h = (h << 4) + *key++;  //move left 4 bit
        unsigned long g = h & 0xF0000000L;   //and
        if(g) h ^= g >> 24;    //or , move right
        h &= ~g;    //and, not, 
    }
    return h % M;
}

分享到:
评论

相关推荐

    EAP-AKA认证算法源程序(基于SHA-1)

    在EAP-AKA中,SHA-1(Secure Hash Algorithm 1)被用作散列函数,用于生成消息认证码(MAC)和密钥材料。SHA-1是一种广泛使用的密码学散列函数,能够将任意长度的数据转换为固定长度的摘要,通常用于数据完整性检查...

    Oracle9i的init.ora参数中文说明

    要从生成的 C 源中生成共享对象或 DLL, 需要使用 make 实用程序。 值范围: make 实用程序的完整路径名。 默认值: 无 plsql_native_library_dir: 说明: 由 PL/SQL 编译程序使用。它指定目录名, 其中存储了本机编译...

    非常详细的java笔记.docx

    - 类似Hash算法的机制用于数据的快速查找和验证,比如在哈希表中。 - Java还提供了丰富的类库,支持网络通信、数据库操作、多线程编程等多个领域。 Java的这些特性使得它在互联网开发中扮演着重要角色,无论是...

    cyassl手册

    *nix系统包括Linux、BSD等类Unix操作系统。在这些平台上构建CyaSSL通常需要执行以下步骤: 1. **环境准备**:确保系统已安装必要的编译工具,如GCC、Make等。 2. **配置**:运行`./configure`脚本来设置编译选项。 3...

    ssh2

    7. **X11转发**:对于使用X Window System的Linux和Unix系统,SSH2提供了X11转发功能,使得用户可以在本地机器上安全地运行远程服务器的图形界面程序。 8. **SFTP(Secure File Transfer Protocol)**:SSH2协议...

Global site tag (gtag.js) - Google Analytics