Tôi đang sử dụng các thuật toán djb2 để tạo phím băm cho một chuỗi đó là như saudjb2 Hash Function
hash(unsigned char *str)
{
unsigned long hash = 5381;
int c;
while (c = *str++)
hash = ((hash << 5) + hash) + c; /* hash * 33 + c */
return hash;
}
Bây giờ với mỗi vòng có một phép nhân với hai con số lớn, Sau một thời gian với 4 của nhân vật thứ 5 của chuỗi có một tràn như giá trị băm trở nên khổng lồ
cách chính xác để cấu trúc lại để các giá trị băm không tràn và băm cũng sẽ xảy ra một cách chính xác
Không có thứ gì như băm DJB2, chỉ có DJB chuẩn, và sau đó là Salsa20 et al. –
http://www.cse.yorku.ca/~oz/hash.html đề cập đến DJB2, tôi tin rằng thuật ngữ được sử dụng rộng rãi, nếu không được công nhận chính thức. – yoyo