2012-12-17 21 views
2

我在TCL中使用DES加密一些短語,並且希望將這些加密短語存儲在某些需要輕鬆操作的ascii文件中。因此,我希望「加密短語」僅由標準ASCII字符構成(優先不含空格)。TCL des:將標準ASCII字符中的加密短語返回

我使用這樣的事情ECRYPT:

set encrypted [ DES:des -dir encrypt -key "abcdefgh" "This_phrase" ] 

我想「加密」是一個標準的ASCII碼,不是 因爲它發生,甚至可能剎我的終端如果顯示。

非常感謝。 Leandro。

回答

5

您可以替換所有可能有特殊含義的字符(除a-zA-Z0-9等之外的所有字符),也可以用例如。 BASE64。

set encrypted [base64::encode -wrapchar {} [DES:des -dir encrypt -key abcdefgh "This_phrase"]] 

你需要剝去一層額外的(Base64,轉義序列編碼,或任何你使用的二進制數據轉換成ASCII)如果你想對它進行解碼。

+0

非常感謝,「base64」編碼工作得非常好。 – leandro

+1

「DES :: des」的'-hex'選項是另一種選擇。它更冗長,因爲它使用比base64更小的字母。 –