【发布时间】:2011-08-19 17:23:01
【问题描述】:
我试图将使用 BouncyCastle 的 RSA 算法的 Håvard Stranden 示例 (http://ox.no/posts/rsa-using-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()));
但我总是得到一个错误。关于如何实现它的任何想法?
提前致谢
编辑:很抱歉没有发布错误日志,但我在稍后发布并忘记了它
这里是: 在 e.Init(true, new KeyParameter(Encoding.UTF8.GetBytes("MyPassword")));我得到一个“索引超出了数组的范围。”
【问题讨论】:
-
您到底为什么不包含您在问题中遇到的实际错误?我们应该读懂你的想法吗?
-
我只在周二和周四读心术。这是工会的事。
标签: c# encryption bouncycastle