2012-02-26 74 views
1

我已經在一週前下載了Lockbox3,並且我無法使用它,而且我無法理解演示,因爲它很複雜,我無法獲取代碼我想從它,我想使用密碼箱3 AES-256加密在Delphi中加密字符串。如何在使用delphi的密碼箱3中使用AES-256加密

+4

你在做什麼,具體是?什麼試圖使這項工作?你收到什麼錯誤信息?如果你沒有提出一個非常明確,重點突出的問題,你不可能得到選票或專注的答案。您可能想要閱讀上面鏈接的常見問題解答。 – Argalatyr 2012-02-26 01:44:10

回答

4

方法和屬性名稱幾乎可以說明一切。假設你已經在設計時設置了編碼解碼器屬性,這也是自描述的,這是一種加密字符串然後再解密的方法。

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. 設置密碼

和鮑勃是你的叔叔!

讓我知道你是否有任何問題。

+0

我剛剛將這些組件安裝到XE6中,EncryptString需要作爲第三個參數從Sysutils中進行一些TEncoding,我該怎麼做? – Vlastimil 2016-09-18 19:45:27

+0

這取決於你想要什麼字符串編碼。 UTF-8? UTF-16LE?或者是其他東西。 – 2016-09-19 07:01:07

+0

正常的ASCII字符串,我不知道如何處理它,事先感謝 – Vlastimil 2016-09-19 07:22:25