3

約 1 週間前に Lockbox3 をダウンロードしましたが、使用できません。デモが複雑で理解できませんでした。デモから必要なコードを取得できませんでした。Lockbox 3 AES を使用したいと考えています。 Delphi で文字列を暗号化するための 256 暗号化。

4

2 に答える 2

5

メソッドとプロパティの名前がす​​べてを物語っています。これは、文字列を暗号化し、それを再び復号化する方法です。これは、設計時にコーデック プロパティをセットアップしたことを前提としています。これも自己記述的です。

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;

デモ プログラムをもう一度見てください。[暗号化] ボタンのハンドラーは、文字列の代わりにファイルを暗号化します。それはさておき、メモに情報を投稿したり、ユーザーが存在しないファイルを指定した場合に例外を処理したりするなど、装飾的な綿毛を取り除けば、信じられないほど単純です-基本的に1行に要約されます...

codecMainDemo.EncryptFile( edtPlaintextFile.Text, edtCiphertextFile.Text );

文字列を暗号化するには、EncryptString() を呼び出します。ファイルを暗号化するには、EncryptFile() を呼び出します。

デモはセットアップを示しています。

  1. TCryptographicLibrary コンポーネントをフォームに配置します。
  2. フォームに TCodec コンポーネントを配置します。
  3. お好みの暗号を選択してください
  4. お好みの連鎖モードを選択してください。と
  5. パスワードを設定する

そしてボブはあなたのおじです!

何か問題がありましたらお知らせください。

于 2012-02-26T13:43:16.793 に答える
-1

Sean あなたの例には、それ以上ではないにしても、少なくとも 1 つのエラーがあります。

var
  Plaintext, sReconstructedPlaintext: string;
  base64Ciphertext: ansistring;
Plaintext should be sPLaintext.

さらに、Delphi Sydney コンパイラは、「実際のパラメータが十分ではありません」というエラーにフラグを立てます。codec.EncryptString( sPlaintext, base64Ciphertext);

ボブおじさんはお休みだったと思います。これは素晴らしいライブラリですが、残念ながらドキュメントが貧弱であることに失望しています。ある程度の進歩を遂げるために関連する単元を進めましたが、それを使用したいかどうかを評価するためにこれを行わなければならないのは残念です - 私は学校の市場向けの教科書を書いています.

于 2021-02-22T16:24:02.633 に答える