C++程序  |  17行  |  312 B

#include "mltypes.h"

/** bernstein hash, from public domain source */

uint32_t inv_checksum(unsigned char *str, int len)
{
    uint32_t hash = 5381;
    int i, c;

    for (i = 0; i < len; i++) {
        c = *(str + i);
        hash = ((hash << 5) + hash) + c;    /* hash * 33 + c */
    }

    return hash;
}