预测加密字符串的长度

mrb*_*lah 3 .net c# encryption rijndaelmanaged

我使用它进行加密:http://msdn.microsoft.com/en-us/library/system.security.cryptography.rijndaelmanaged.aspx

有没有办法可以预测加密文本的样​​子?我正在将加密的输出转换为文本,因此我可以将其存储在数据库中.

我只想确保数据库列的大小足够大.

我将文本输入限制为20个字符.

Luk*_*keH 10

您使用的是SQL Server 2005还是以上版本?如果是这样,您可以使用VARCHAR(MAX)NVARCHAR(MAX)用于列类型.

如果你想要更精确一点......

最大块大小为RijndaelManaged256位(32字节).

您的最大输入大小为20个字符,因此即使我们假设每个字符有4个字节的最坏情况,也只能达到80个字节,然后将加密过程最多填充到96个字节.

如果在加密输出上使用Base64编码,将从96个加密字节创建128个字符.如果您使用十六进制编码,那么将从96个加密字节创建192个字符(如果您在十六进制字符串前面添加"0x",则可能还有几个额外字符).在任何一种情况下,200字符的列宽应该给你足够的余量.

(注意:这些只是我头脑中的计算.我还没有证实它们确实是正确的!)