Encryption 什么加密算法最适合小字符串?

Encryption 什么加密算法最适合小字符串?,encryption,Encryption,我有一个10-15个字符的字符串,我想加密这个字符串。问题是我想得到一个尽可能短的加密字符串。我还想将该字符串解密回其原始字符串 哪种加密算法最适合这种情况?AES使用16字节的块大小;如果您对10-15个字符的限制很严格,那么它非常适合您的需要。PKCS#11(IIRC)填充方案将向数据中添加6-1个字节,并生成正好16个字节的输出。您实际上不需要使用加密模式(如CBC),因为您只加密一个块。这里有一个如何处理密钥的问题——始终有一个如何处理加密密钥的问题 如果您必须为较短的字符串使用较短的数

我有一个10-15个字符的字符串,我想加密这个字符串。问题是我想得到一个尽可能短的加密字符串。我还想将该字符串解密回其原始字符串


哪种加密算法最适合这种情况?

AES使用16字节的块大小;如果您对10-15个字符的限制很严格,那么它非常适合您的需要。PKCS#11(IIRC)填充方案将向数据中添加6-1个字节,并生成正好16个字节的输出。您实际上不需要使用加密模式(如CBC),因为您只加密一个块。这里有一个如何处理密钥的问题——始终有一个如何处理加密密钥的问题

如果您必须为较短的字符串使用较短的数据长度,那么您可能需要在CTR模式下考虑AES。它使用键和计数器生成一个字节流,该字节流与字符串的字节异或。它将使加密字符串的长度与输入明文字符串的长度相同


你将很难找到一种通用的压缩算法来可靠地减少这些短字符串的长度,因此加密前压缩几乎不是一种选择。

如果只是一个短字符串,你可以使用一个一次性的pad,这在数学上是完全保密的


请确保不要多次使用该键。

如果主要目标是缩短,我会寻找一个压缩库,它允许在常用字符串的语料库上构建固定词典。

就我个人而言,我没有这方面的经验,但我敢打赌我能做到。

这是加密“难以破解”(在本例中,我只是指非琐碎)的要求,还是只是为了缩短字符串?缩短字符串和“更难破解”只是一种奖励