Чтобы найти значение хеша данного буфера, я использовал функцию arch_fast_hash присутствующую в ядре Linux v3.16, объявленную в include/linux/hash.h и определенную в linux/lib/hash.c

Но в ядре Linux v3.19 эта функция исчезла. Есть несколько новых функций и макросов, но без надлежащей документации.

Любое тело, пожалуйста, помогите мне с правильной техникой хеширования или какова альтернатива arch_fast_hash в v3.19.

И есть ли более быстрая альтернатива хэшу?

связи

включите /linux /hash.h в ядро Linux v3.16
включите /linux /hash.h в ядре Linux v3.19

1 ответ1

0

Пытаться:

#include <linux/jhash.h>

и используйте эту функцию:

/* 
* jhash - hash an arbitrary key
* @k: sequence of bytes as key
* @length: the length of the key
* @initval: the previous hash, or an arbitray value
* 
* The generic version, hashes an arbitrary sequence of bytes. 
* No alignment or length assumptions are made about the input key.
* Returns the hash value of the key. The result depends on endianness.
*/

u32 jhash(const void *key, u32 length, u32 initval);

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .