2009-03-03 42 views

回答

3

Paddingtext encoding。大多数加密算法具有块大小,并且输入需要被填充到该块大小的倍数。另外,将二进制数据转换为文本通常涉及Base64 algorithm,它将3个字节扩展为4个字符。

0

没有,不知道所有,但我首先想到的是,你的加密算法是建立,使得它从输出数据删除每10 1个比特。

只有你可以肯定知道,因为我们无法在这里看到你的代码:-)

1

这当然不是所有的加密算法真实的,它必须仅仅是你使用的特定者的财产。不知道它是什么算法,我只能猜测,但比率33/44表明算法可能会将每个字符压缩为输出字节数组中的6位。这可能意味着它假设不超过64个不同的字符被使用,这对纯文本来说是一个很好的假设(事实上,base64解码就是这样工作的)。

但是,再次,不知道你在用什么算法,这都是猜测。

+0

我正在使用Rijndael。谢谢。 – devlord 2009-03-03 03:50:05

1

不知道你正在使用的加密,它有点难以确定确切的原因。首先,这里有一篇关于How to Calculate the Size of Encrypted Data的文章。这听起来像你可能正在使用你的明文的散列,这就是为什么结果更短。

编辑:继承人来源为Rijndael Implementation。看起来密文输出的初始长度与明文输入的长度相同,然后他们在它上面做一个base64,正如前面提到的海报,它会将最终输出减少到原始输入的3/4。

+0

我正在使用Rijndael。谢谢! – devlord 2009-03-03 03:52:42

+0

伟大的文章,谢谢! – devlord 2009-03-03 04:02:48

相关问题