我下载了Lockbox3大约一周前,我不能使用它,我不能理解它的演示,因为它很复杂,我不能从它得到我想要的代码,我想使用Lockbox3aes-256加密来加密字符串在Delphi.
发布于 2012-02-26 21:43:17
方法和属性名称几乎说明了一切。假设您在设计时设置了编解码器属性,那么这里有一种方法可以对字符串进行加密,然后再将其解密。
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按钮的处理程序加密文件而不是字符串。除此之外,如果你去掉那些装饰性的东西,比如将信息发布到备忘录中,并在用户指定了一个不存在的文件时处理异常,那么它就简单得令人难以置信--它基本上归结为一行……
codecMainDemo.EncryptFile( edtPlaintextFile.Text, edtCiphertextFile.Text );要加密字符串,可以调用EncryptString()。要加密文件,可以调用EncryptFile()。
演示展示了设置,也就是:
鲍勃是你的叔叔!
如果你有任何问题,请告诉我。
发布于 2021-02-23 00:24:03
Sean你的例子至少有一个错误:
var
  Plaintext, sReconstructedPlaintext: string;
  base64Ciphertext: ansistring;
Plaintext should be sPLaintext.另外,Delphi悉尼编译器在codec.EncryptString( sPlaintext, base64Ciphertext);上标记了一个错误‘没有足够的实际参数
我想鲍勃叔叔今天过得不太好。这是一个很棒的库,但不幸的是,糟糕的文档让它失望了。为了取得一些进展,我已经在相关单位中摸索了一番,但遗憾的是,我不得不这样做,以评估我是否想要使用它--我正在为学校的市场编写一本教科书。
https://stackoverflow.com/questions/9449613
复制相似问题