Статус: Новичок
Группы: Участники
Зарегистрирован: 22.05.2012(UTC) Сообщений: 6
|
Шифрует Код:CryptAcquireContext(@Prov,nil,nil,PROV_GOST_2001_DH,CRYPT_VERIFYCONTEXT);
...
CryptCreateHash(Prov,CALG_GR3411,0,0,@Hash);
CryptHashData(Hash,PByte(Password),Length(Password),0);
CryptDeriveKey(Prov,CALG_G28147,Hash,CRYPT_EXPORTABLE,@Key);
....
CryptEncrypt(Key,0,true,0,nil,@BufLen,0);
Stream.SetSize(BufLen);
CryptEncrypt(Key,0,true,0,PByte(Stream.Memory),@DataLen,BufLen);
SetLength(Str,BufLen);
Stream.Seek(0,soFromBeginning);
Stream.ReadBuffer(Pointer(Str)^,BufLen);
mmOut.Text:=Str;
А вот функция расшифрования Код: CryptCreateHash(Prov,CALG_GR3411,0,0,@Hash);
CryptHashData(Hash,PByte(Password),Length(Password),0);
CryptDeriveKey(Prov,CALG_G28147,Hash,CRYPT_EXPORTABLE,@Key);
DataLen:=Stream.Size;
CryptDecrypt(Key,0,true,0,PByte(Stream.Memory),@DataLen);
SetLength(Str,DataLen);
Stream.Seek(0,soFromBeginning);
Stream.ReadBuffer(Pointer(Str)^,DataLen);
не пойму почему на выходе не открытый текст Отредактировано пользователем 27 июня 2012 г. 19:37:56(UTC)
| Причина: Не указана
|