Я пытался адаптировать пример Håvard Stranden (http://ox.no/posts/rsa-using-bouncycastle) алгоритма RSA с использованием BouncyCastle в алгоритм TEA, используя также примеры, которые поставляются с BouncyCastle, и я сделал следующее. код для шифрования моей строки:
byte[] data = Encoding.UTF8.GetBytes("This is an encoding test!!!...");
TeaEngine e = new TeaEngine();
e.Init(true, new KeyParameter(Encoding.UTF8.GetBytes("MyPassword")));
int blockSize = e.GetBlockSize();
byte[] outBytes = new byte[data.Length];
List<byte> output = new List<byte>();
for (int chunkPosition = 0; chunkPosition < data.Length; chunkPosition += blockSize)
{
int chunkSize = Math.Min(blockSize, data.Length - (chunkPosition * blockSize));
if (e.IsPartialBlockOkay)
{
e.ProcessBlock(data, chunkPosition, outBytes, chunkPosition);
}
else
{
e.ProcessBlock(data, chunkPosition, outBytes, chunkPosition);
}
}
Console.WriteLine("Encrypted: " + Encoding.UTF8.GetString(output.ToArray()));
Но я всегда получаю ошибку. Любая идея о том, как это реализовать?
заранее спасибо
РЕДАКТИРОВАТЬ: извините за то, что не опубликовал журнал ошибок, но я опубликовал это позже и забыл об этом.
Вот оно: At e.Init(true, new KeyParameter(Encoding.UTF8.GetBytes("MyPassword"))); Я получаю «Индекс был за пределами массива».