Я скачал Lockbox3 около недели назад, и я не могу его использовать, и я не мог понять демо, потому что это сложно, я не мог получить коды, которые мне нужны, я хотел бы использовать lockbox 3 AES- 256 для шифрования строк в Delphi.
Как использовать шифрование AES-256 в сейфе 3 с помощью delphi
Ответы (2)
Имена методов и свойств в значительной степени говорят сами за себя. Вот метод, который шифрует строку, а затем снова расшифровывает ее, предполагая, что вы настроили свойства кодека во время разработки, которые также являются самоописываемыми.
procedure TForm1.actEncryptStringExecute( Sender: TObject );
var
Plaintext, sReconstructedPlaintext: string;
base64Ciphertext: ansistring;
begin
sPlainText := 'I love LockBox 3!';
if not InputQuery( 'Plaintext', 'Enter plaintext that you want to encrypt (UTF-16LE encoding):', sPlainText) then exit;
codec.EncryptString( sPlaintext, base64Ciphertext);
ShowMessageFmt('The base64 encoding of the encoded ciphertext is'#13#10+'%s',[base64Ciphertext]);
codec.DecryptString( sReconstructedPlaintext, base64Ciphertext);
ShowMessageFmt('After decryption, this decrypts back to %s',[sReconstructedPlaintext])
end;
Посмотрите еще раз на демонстрационную программу. Обработчик кнопки «Зашифровать» шифрует файл вместо строки. Кроме того, если вы уберете декоративный пух, например, отправку информации в заметку и обработку исключений, если пользователь указал несуществующий файл, это невероятно просто - это в основном сводится к одной строке...
codecMainDemo.EncryptFile( edtPlaintextFile.Text, edtCiphertextFile.Text );
Чтобы зашифровать строку, вы вызываете EncryptString(). Чтобы зашифровать файл, вы вызываете EncryptFile().
Демонстрация показывает настройку, а именно:
- Поместите на форму компонент TCryptographicLibrary;
- Поместите компонент TCodec на форму;
- Выберите предпочитаемый шифр
- Выберите предпочитаемый режим цепочки; а также
- Установите пароль
и Боб твой дядя!
Дайте мне знать, если у вас возникнут проблемы.
Шон В вашем примере есть как минимум одна ошибка, если не больше:
var
Plaintext, sReconstructedPlaintext: string;
base64Ciphertext: ansistring;
Plaintext should be sPLaintext.
Кроме того, компилятор Delphi Sydney помечает ошибку «Недостаточно фактических параметров» на codec.EncryptString( sPlaintext, base64Ciphertext);
Я думаю, что у дяди Боба был выходной. Это отличная библиотека, но, к сожалению, ее подводит плохая документация. Я проложил себе путь через соответствующие блоки, чтобы добиться некоторого прогресса, но мне жаль, что я должен сделать это, чтобы оценить, хочу ли я его использовать - я пишу учебник для школьного рынка.