Хэш-функция
От: asmodey  
Дата: 18.01.03 07:24
Оценка:
Есть записи вида ФИО, адрес, тел, возрас, г.рождения. необходимо вставлять, удалять элементы, производить поиск и сортировку по каждому параметру. Подскажите как реализовать такую хэш-функцию на С. Пожайлуста!!!!!
Re: Хэш-функция
От: DrMom  
Дата: 18.01.03 15:54
Оценка:
Здравствуйте, asmodey, Вы писали:

A>Есть записи вида ФИО, адрес, тел, возрас, г.рождения. необходимо вставлять, удалять элементы, производить поиск и сортировку по каждому параметру. Подскажите как реализовать такую хэш-функцию на С. Пожайлуста!!!!!


Насчет сортировки я не совсем понял, как ее делать при помощи ХФ? Если же ты используешь хэшь таблицы, то ХФ может даже возвращать все время 1 и таблица будет работать, но вот сортировка напротив ни при каких условиях не будет работать. Если я чего не понял, то извини.
Re: Хэш-функция
От: amarat  
Дата: 18.01.03 15:56
Оценка:
Здравствуйте, asmodey, Вы писали:

A>Есть записи вида ФИО, адрес, тел, возрас, г.рождения. необходимо вставлять, удалять элементы, производить поиск и сортировку по каждому параметру. Подскажите как реализовать такую хэш-функцию на С. Пожайлуста!!!!!



CRYPT_HASH_MESSAGE_PARA HashPara;
HashPara.cbSize = sizeof(CRYPT_HASH_MESSAGE_PARA);
HashPara.dwMsgEncodingType = PKCS_7_ASN_ENCODING;
HashPara.HashAlgorithm.Parameters.cbData = 0;
HashPara.HashAlgorithm.Parameters.pbData = NULL;
HashPara.HashAlgorithm.pszObjId = szOID_RSA_MD4;
HashPara.hCryptProv = NULL;
HashPara.pvHashAuxInfo = NULL;


const BYTE* rgpbToBeHashed[1];
DWORD rgcbToBeHashed[1];

rgpbToBeHashed[0] = buf;
rgcbToBeHashed[0] = len;

DWORD cbComputedHash = 16;
BYTE* pbComputedHash = (BYTE*)malloc(16);

CryptHashMessage(&HashPara, FALSE, 1, rgpbToBeHashed, rgcbToBeHashed, NULL, NULL, pbComputedHash, &cbComputedHash)
Re[2]: Хэш-функция
От: Ёрик  
Дата: 19.01.03 12:05
Оценка:
Здравствуйте, amarat, Вы писали:

A>Здравствуйте, asmodey, Вы писали:


A>>Есть записи вида ФИО, адрес, тел, возрас, г.рождения. необходимо вставлять, удалять элементы, производить поиск и сортировку по каждому параметру. Подскажите как реализовать такую хэш-функцию на С. Пожайлуста!!!!!


A> CryptHashMessage(&HashPara, FALSE, 1, rgpbToBeHashed, rgcbToBeHashed, NULL, NULL, pbComputedHash, &cbComputedHash)


Только надо учитывать, что не работает в NT4 без 3-го сервис-пака и в 95-х тоже.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.