首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用delphi在lockbox 3中使用AES-256加密

如何使用delphi在lockbox 3中使用AES-256加密
EN

Stack Overflow用户
提问于 2012-02-26 09:03:40
回答 2查看 14.4K关注 0票数 3

我下载了Lockbox3大约一周前,我不能使用它,我不能理解它的演示,因为它很复杂,我不能从它得到我想要的代码,我想使用Lockbox3aes-256加密来加密字符串在Delphi.

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-02-26 21:43:17

方法和属性名称几乎说明了一切。假设您在设计时设置了编解码器属性,那么这里有一种方法可以对字符串进行加密,然后再将其解密。

代码语言:javascript
运行
复制
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;

再看一看演示程序。Encrypt按钮的处理程序加密文件而不是字符串。除此之外,如果你去掉那些装饰性的东西,比如将信息发布到备忘录中,并在用户指定了一个不存在的文件时处理异常,那么它就简单得令人难以置信--它基本上归结为一行……

代码语言:javascript
运行
复制
codecMainDemo.EncryptFile( edtPlaintextFile.Text, edtCiphertextFile.Text );

要加密字符串,可以调用EncryptString()。要加密文件,可以调用EncryptFile()。

演示展示了设置,也就是:

  1. 在窗体上放置TCryptographicLibrary组件;
  2. 在窗体上放置TCodec组件;
  3. 选择首选的密码
  4. 选择首选的链接模式;
  5. 设置密码

鲍勃是你的叔叔!

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

票数 5
EN

Stack Overflow用户

发布于 2021-02-23 00:24:03

Sean你的例子至少有一个错误:

代码语言:javascript
运行
复制
var
  Plaintext, sReconstructedPlaintext: string;
  base64Ciphertext: ansistring;
Plaintext should be sPLaintext.

另外,Delphi悉尼编译器在codec.EncryptString( sPlaintext, base64Ciphertext);上标记了一个错误‘没有足够的实际参数

我想鲍勃叔叔今天过得不太好。这是一个很棒的库,但不幸的是,糟糕的文档让它失望了。为了取得一些进展,我已经在相关单位中摸索了一番,但遗憾的是,我不得不这样做,以评估我是否想要使用它--我正在为学校的市场编写一本教科书。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9449613

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档