長さ 16の を作成する必要がありますbyte[]
(AES 暗号化でキーとして使用される 128 ビットのバイト配列)。
以下は有効な文字列です
"AAECAwQFBgcICQoLDA0ODw=="
文字列が 128 ビットかどうかを判断するアルゴリズムは何ですか? それとも、そのような 128 ビット文字列を作成する唯一の方法は試行錯誤ですか?
コード
static void Main(string[] args)
{
string firstString = "AAECAwQFBgcICQoLDA0ODw=="; //String Length = 24
string secondString = "ABCDEFGHIJKLMNOPQRSTUVWX"; //String Length = 24
int test = secondString.Length;
byte[] firstByteArray = Convert.FromBase64String((firstString));
byte[] secondByteArray = Convert.FromBase64String((secondString));
int firstLength = firstByteArray.Length;
int secondLength = secondByteArray.Length;
Console.WriteLine("First Length: " + firstLength.ToString());
Console.WriteLine("Second Length: " + secondLength.ToString());
Console.ReadLine();
}
調査結果:
256 ビットの場合、256/6 = 42.66 文字が必要です。これは 43 文字に丸められます。【4足すれば割り切れる=
】
512 ビットの場合、512/6 = 85.33 文字が必要です。これは 86 文字に丸められます。【4足すれば割り切れる==
】
128 ビットの場合、128/6 = 21.33 文字が必要です。これは 22 文字に丸められます。【4足すれば割り切れる==
】