2012-06-07 69 views
2

我們需要單向加密。任何一個人可以建議更好的方法:單向加密的更好方法

AES,DSA和Dygest-salt enctyption方法?

我覺得Dygest鹽是一種方式,其他都是雙向的,但不能確定這是使用更安全。如果有人能指出這兩者之間的性能比較會更好。隨意推薦另一種算法(具體用於單向)。

回答

1

你要找的「單向」加密。您正在尋找性能特點。和你打電話了2個實現和概念(Dygest鹽是概念上的)

你需要問以下幾個問題:

  1. 你有沒有想解密
  2. 你在乎複製

普通加密是將已知數據轉換爲可用原始加密密鑰進行解密的等效數據集。尺寸(英寸)==尺寸(出)

散列是減少了大量語料文本成一個小字符串,可以更容易地比原來的文本比較的概念。通常這意味着源數據比散列數據大得多。

密碼學上,哈希是將大量文本文本縮減爲一個小字符串,其中內容的變化會導致明顯不同的哈希,從而很難生成導致相同哈希的兩個源。

散列應該比完全加密'更快',因爲我們最終並不關心內容 - 實際上你可以在hashing mode中使用AES,這會給你留下相同的特徵,但最終產品是散列,而不是比加密。

如果您不希望獲得純文本,那麼你應該經常使用的哈希函數 - 他們設計的相對快速的操作 - 它們不是免費的,但就是這一點。

+0

我說的一種方法。這不是暗示我不需要解密嗎? –

+0

是的,但你的問題暗指使用雙向算法 – Petesh

5

術語「單向加密」具有誤導性。

AES對稱加密算法(準確地說,是block cipher)的示例。誰擁有加密密鑰,誰也可以解密。您通常不是單獨使用分組密碼,而是使用mode of operation

DSA是不是在所有的加密算法。這是一個簽名算法(或實際上是一個包含三個算法的密鑰:密鑰生成,簽名,驗證),我可以用我的私鑰簽署一段數據,並且每個人都可以使用相應的公鑰檢查簽名。我還需要在簽名前對我的數據應用散列函數。

A(加密)散列算法(也稱爲(密碼)消息摘要)通常爲無鑰匙功能,並減少了(更多或更少)任意大小的數據,以固定大小的哈希值,以使得應該很難找到導致相同散列的兩個不同輸入(通常還有更多的屬性)。這是一種單向函數

對於密碼存儲,我們不使用加密,而是一種散列形式,其中包括一個隨機,以便相同的密碼與不同的鹽給出不同的結果。鹽本身與散列一起存儲,因此它可用於稍後檢查密碼。 (可能這就是你所說的Digest-Salt。) Also, you should not use a normal fast hash function, but a slow one.