powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Crypto API в Visual FoxPro
4 сообщений из 4, страница 1 из 1
Crypto API в Visual FoxPro
    #34337519
anatoliy_ioff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
День добрый!!!
Для шифрования паролей решил воспользоваться crypto API функциями. написал следующее:

#include "wincrypt.h"

LOCAL a,b,lhHasHandle,Prov

DECLARE LONG CryptAcquireContext IN Win32API Long @phProv, Long pszContainer, ;
Long pszProvider, Long dwProvType, Long dwFlags
DECLARE LONG CryptCreateHash IN Win32API Long hProv, Long Algid, ;
Long hKey, Long dwFlags, Long @phHash
DECLARE LONG CryptHashData IN Win32API Long hHash, String pbData, ;
Long dwDataLen, Long dwFlags
DECLARE LONG CryptSignHash IN Win32API Long hHash, Long dwKeySpec, ;
string sDescription, Long dwFlags, String @pbSignature, Long @pdwSigLen
DECLARE INTEGER GetLastError IN Win32API

lhHasHandle = 0
CryptAcquireContext(@Prov,0,0,dnPROV_RSA_FULL,0)
CryptCreateHash(Prov,dnCALG_MD5,0,0,@lhHasHandle)
CryptHashData(lhHasHandle,this.Value,LEN(this.Value),0)
a=0
CryptSignHash(lhHasHandle,dnAT_SIGNATURE,null,0,0,@a)
b=GetLastError()

CryptSignHash не проходит. Говорит NTE_BAD_KEYSET!!! Всю голову уже сломал!!! Подскажите что не так кто знает.

Заранее спасибо!!!
...
Рейтинг: 0 / 0
Crypto API в Visual FoxPro
    #34337915
Фотография Marat C
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Посмотри C:\Program Files\Microsoft Visual FoxPro 9\Ffc\_crypt.vcx
возможно ответ там кроется


www.frx2any.com
...
Рейтинг: 0 / 0
Crypto API в Visual FoxPro
    #34338795
kdanylo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Crypto API в Visual FoxPro
    #34340332
anatoliy_ioff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Marat CПосмотри C:\Program Files\Microsoft Visual FoxPro 9\Ffc\_crypt.vcx
возможно ответ там кроется


www.frx2any.com

Смотрел уже... и не раз... вот например в signfile написанно вот так:
CryptSignHash(lhHashHandle, dnAT_SIGNATURE, 0),
вот ее описание:
function CryptSignHash(hHash :HCRYPTHASH;
dwKeySpec :DWORD;
sDescription :LPAWSTR;
dwFlags :DWORD;
pbSignature :PBYTE;
pdwSigLen :PDWORD) :BOOL; stdcall;
...
pbSignature указывает на буфер, куда будет помещена цифровая подпись, а pdwSigLen - размер этого буфера. Если размер заранее не известен, то можно указать pbSignature равным nil, и тогда в параметре pdwSigLen мы получим необходимый размер буфера.

А что будет если ее вызвать вот так: CryptSignHash(lhHashHandle, dnAT_SIGNATURE, 0) мне не очень понятно...
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Crypto API в Visual FoxPro
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]