| ||||
| ||||
Здравствуйте. Пробую переделать первый пример из статьи "Delphi и Windows API для защиты секретов" - Шифрование с использованием паролей. Там используется криптопровайдер Microsoft, а я хочу использовать КриптоПро 3.0. Зашифровываю строку "TEST TEST TEST TEST", потом расшифровываю: "╤ус├5FЩ╖T TEST TEST". Наверно не правильно указываю константы. Подскажите, пожалуйста. procedure TPasswordForm.OkBitBtnClick(Sender: TObject); var hash: HCRYPTHASH; err: string; begin if not CryptCreateHash(MainForm.hProv, 32798, 0, 0, @hash) then begin ... MessageDlg('Error of CryptCreateHash: '+err, mtError, [mbOK], 0); exit; end; if not CryptHashData(hash, @PasswEdit.text[1], length(PasswEdit.text), 0) then begin ... MessageDlg('Error of CryptHashData: '+err, mtError, [mbOK], 0); exit; end; if not CryptDeriveKey(MainForm.hProv, 26142, hash, 0, @MainForm.key) then begin ... MessageDlg('Error of CryptHashData: '+err, mtError, [mbOK], 0); exit; end; if not CryptDestroyHash(hash) then begin ... MessageDlg('Error of CryptDestroyHash: '+err, mtError, [mbOK], 0); exit; end; if MainForm.encrypt then MainForm.EncryptData else MainForm.DecryptData; Close; end; | ||||
Ответы: | ||||
| ||||
http://www.cryptopro.ru/cryptopro/forum/view.asp?q=1664 | ||||