【问题标题】:How to use AES-256 encryption in lockbox 3 using delphi如何使用 delphi 在密码箱 3 中使用 AES-256 加密
【发布时间】:2012-02-26 01:03:40
【问题描述】:

我大约一周前下载了 Lockbox3,但我无法使用它,我无法理解演示,因为它很复杂我无法从中获取我想要的代码,我想使用 lockbox 3 AES-256 加密在 Delphi 中加密字符串。

【问题讨论】:

  • 您具体要做什么?是什么试图使这项工作?您收到了哪些错误消息?如果您不提出一个非常明确、重点突出的问题,您就不太可能获得选票或重点回答。您可能想阅读上面链接的常见问题解答。

标签: delphi encryption turbopower lockbox-3


【解决方案1】:

方法和属性名称几乎说明了一切。这是一种加密字符串然后再次解密的方法,假设您在设计时设置了编解码器属性,这些属性也是自描述的。

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()。

演示显示了设置,即:

  1. 在您的表单上放置一个 TCryptographicLibrary 组件;
  2. 在表单上放置一个 TCodec 组件;
  3. 选择您喜欢的密码
  4. 选择您喜欢的链接模式;和
  5. 设置密码

鲍勃是你的叔叔!

如果您有任何问题,请告诉我。

【讨论】:

  • 我刚刚将这些组件安装到 XE6 中,EncryptString 需要一些来自 Sysutils 的 TEncoding 作为第三个参数,我该怎么办?
  • 这取决于你想要什么字符串编码。 UTF-8? UTF-16LE?或别的什么。
  • 普通的 ASCII 字符串,我不知道如何处理它,先谢谢你
  • 什么是“普通 ASCII 字符串”?也许你的意思是 UTF-8? - 然后使用 TEncoding.UTF8 .
【解决方案2】:

肖恩 您的示例至少有一个错误(如果不是更多):

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

另外,Delphi Sydney 编译器在codec.EncryptString( sPlaintext, base64Ciphertext); 上标记错误“实际参数不足”

我认为鲍勃叔叔正在休假。 这是一个很棒的库,但不幸的是它被糟糕的文档所拖累。为了取得一些进展,我已经通过相关单元进行了探索,但很遗憾我必须这样做以评估我是否要使用它——我正在为学校的市场写一本教科书。

【讨论】:

    猜你喜欢
    • 2021-02-23
    • 2017-11-25
    • 1970-01-01
    • 2013-08-24
    • 1970-01-01
    • 1970-01-01
    • 2018-10-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多