Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
44
Добавлен:
28.06.2014
Размер:
3.09 Кб
Скачать
unit Wincrypt;

interface
uses Windows;
const
//коды криптографических алгоритмов
CALG_MD2=$8001;
CALG_MD4=$8002;
CALG_MD5=$8003;
CALG_SHA=$8004;
CALG_RC2=$6602;
CALG_RC4=$6801;
//константы для функции CryptAcquireContext
PROV_RSA_FULL=1;
CRYPT_NEWKEYSET=$8;
//константы для функции создания ключа
CRYPT_EXPORTABLE=$1;
CRYPT_CREATE_SALT=$4;
AT_SIGNATURE= 2;
//константы для функции установки параметров ключа
KP_MODE=4;
//коды режимов шифрования
CRYPT_MODE_CBC=1;
CRYPT_MODE_ECB=2;
CRYPT_MODE_CFB=4;
type
ALG_ID=Cardinal;
//функции CryptoAPI
function CryptAcquireContext(
var hProv:THandle;
pszContainer,pszProvider:PChar;
dwProvType,dwFlags:Longint):Longbool;
stdcall; external 'advapi32.dll' name 'CryptAcquireContextA';
function CryptCreateHash(
hProv:THandle;
Algid:ALG_ID;
hKey:THandle;
dwFlags:Longint;
var hHash:THandle):Longbool;
stdcall; external 'advapi32.dll';
function CryptHashData(
hHash:THandle;
pbData:Pointer;
dwDataLen,dwFlags:Longint):Longbool;
stdcall; external 'advapi32.dll';
function CryptDestroyHash(
hHash:THandle):Longbool;
stdcall; external 'advapi32.dll';
function CryptDeriveKey(
hProv:THandle;
Algid:ALG_ID;
hBaseData:THandle;
dwFlags:Longint;
var hKey:THandle):Longbool;
stdcall; external 'advapi32.dll';
function CryptDestroyKey(
hKey:THandle):Longbool;
stdcall; external 'advapi32.dll';
function CryptReleaseContext(
hProv:THandle;
dwFlags:Longint):Longbool;
stdcall; external 'advapi32.dll';
function CryptEncrypt(
hKey,hHash:THandle;
Final:Longbool;
dwFlags:Longint;
pbData:Pointer;
var dwDataLen:Longint;
dwBufLen:Longint):Longbool;
stdcall; external 'advapi32.dll';
function CryptDecrypt(
hKey,hHash:THandle;
Final:Longbool;
dwFlags:Longint;
pbData:Pointer;
var dwDataLen:Longint):Longbool;
stdcall; external 'advapi32.dll';
function CryptSetKeyParam(
hKey:THandle;
dwParam:Longint;
pbData:Pointer;
dwFlags:Longint):Longbool;
stdcall; external 'advapi32.dll';
function CryptGenKey(
hProv:THandle;
Algid:ALG_ID;
dwFlags:Longint;
var phKey:THandle):Longbool;
stdcall; external 'advapi32.dll';
function CryptGetUserKey(
hProv:THandle;
dwKeySpec:Longint;
var phUserKey:THandle):Longbool;
stdcall; external 'advapi32.dll';
function CryptSignHash(
hHash:THandle;
dwKeySpec:Longint;
sDescription:PChar;
dwFlags:Longint;
pbSignature:Pointer;
var pdwSigLen:Longint):Longbool;
stdcall; external 'advapi32.dll' name 'CryptSignHashA';
function CryptVerifySignature(
hHash:THandle;
pbSignature:Pointer;
dwSigLen:Longint;
hPubKey:THandle;
sDescription:PChar;
dwFlags:Longint):Longbool;
stdcall; external 'advapi32.dll' name 'CryptVerifySignatureA';
implementation

end.