private static byte[] FixKey(byte[] key, int keyOff, int keyLen)
{
byte[] array = new byte[24];
if (keyLen != 16)
{
if (keyLen != 24)
{
throw new ArgumentException("Bad length for DESede key: " + keyLen, "keyLen");
}
Array.Copy(key, keyOff, array, 0, 24);
}
else
{
Array.Copy(key, keyOff, array, 0, 16);
Array.Copy(key, keyOff, array, 16, 8);
}
if (DesEdeParameters.IsWeakKey(array))
{
throw new ArgumentException("attempt to create weak DESede key");
}
return(array);
}