【发布时间】:2013-08-09 22:33:07
【问题描述】:
我正在尝试将长度在 0 到 15 之间的自定义字符串强制为 128 位字符串,因此我可以将其用作 AesCryptoServiceProvider 键。
我尝试了多种策略,最终得到了以下结果:
if (stringToConvert.Length > 16)
{
StringBuilder sB = new StringBuilder();
char[] chA = stringToConvert.ToCharArray();
int chAMaxLength = chA.Length;
for (int i = 0; i < 16; i++)
{
if (i <= chAMaxLength)
{
sB.Append(chA[i]);
}
}
}
我需要一个长度正好为 16 个字符的字符串 (16*8 = 128)。
我现在被它困住了,只需要帮助来通过这个障碍。
如果这看起来很简单,我提前道歉。
例如:asd 会变成asdasdasdasdasda
【问题讨论】:
-
到底,,,
stringToConvert = sB.ToString();?? -
if 永远不会作为您要转换的字符串输入,其长度为 0 .. 15 个字符,因此不超过 16 个。
-
如果 chA 只有 5 个字符长,则最终结果将只有 5 个字符。
-
我感觉你们不知道加密密钥,或者我需要什么......