2012-07-06 61 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