2012-07-06 58 views
0

什麼是用於加密字符串的最有效的方法/加密提供程序,其導致儘可能短的字符串。我們的目標是我們必須加密一個字符串,並且我們希望在加密之後實現儘可能最短的字符串。用於加密字符串的最有效的加密方法

到目前爲止,我們已經使用Tripple DES和Rijndael進行了測試,兩者的加密長度完全相同。我也玩過更長和更短的鑰匙,但這也沒有太大的區別。

我對加密技術不熟悉,所以我不知道是否有一些數學原因或解釋爲什麼一串長度y只能加密到長度x - 希望聽取您的專家意見。

+6

MD5是*不是*「加密」算法。無論輸入的長度如何,所有散列函數都會產生相同的長度輸出。此外,哈希是不可逆的(你不能「解密」它們) – 2012-07-06 08:24:25

+0

你可能還想指定加密需要多大。你可以給所有的char值加1,並且在技術上加密,並且會產生一個與輸入字符串長度相同的輸出字符串 - 它只是非常糟糕的加密! – vaughandroid 2012-07-06 08:36:39

+0

好點。 128位應該是很好的起點。 – Ghlouw 2012-07-06 09:12:27

回答

1

你的琴絃有多久了?非常長的字符串可以在加密前被壓縮。

爲了產生密文相同的長度作爲明文可以:

  • 使用流暗號諸如RC4,或eSTREAM cyphers

  • 使用塊CYPHER之一(例如AES )在CTR模式下。

如果你的字符串都正好是8個字節或所有16個字節,那麼你可以使用塊暗號,在ECB模式,沒有填充合適的塊大小。

+0

字符串是120或更少的字符,因此對於壓縮太短。感謝其他建議,我會看看它。 :) – Ghlouw 2012-07-06 10:29:07

+1

如果您不想尋求高度的安全性,那麼像Vigenère這樣的經典密碼可能會很有用。 – rossum 2012-07-06 10:58:22