本文整理汇总了C#中Case.getDigest方法的典型用法代码示例。如果您正苦于以下问题:C# Case.getDigest方法的具体用法?C# Case.getDigest怎么用?C# Case.getDigest使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Case
的用法示例。
在下文中一共展示了Case.getDigest方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: runTest
private void runTest(Case dc)
{
IMac digest = new SkeinMac(dc.getBlockSize(), dc.getOutputSize());
digest.Init(new KeyParameter(dc.getKey()));
byte[] message = dc.getMessage();
digest.BlockUpdate(message, 0, message.Length);
byte[] output = new byte[digest.GetMacSize()];
digest.DoFinal(output, 0);
if (!AreEqual(output, dc.getDigest()))
{
Fail(digest.AlgorithmName + " message " + (dc.getMessage().Length * 8) + " mismatch.\n Message " + Hex.ToHexString(dc.getMessage())
+ "\n Key " + Hex.ToHexString(dc.getKey()) + "\n Expected "
+ Hex.ToHexString(dc.getDigest()) + "\n Actual " + Hex.ToHexString(output));
}
}
示例2: runTest
private void runTest(Case dc)
{
SkeinDigest digest = new SkeinDigest(dc.getBlockSize(), dc.getOutputSize());
byte[] message = dc.getMessage();
digest.BlockUpdate(message, 0, message.Length);
byte[] output = new byte[digest.GetDigestSize()];
digest.DoFinal(output, 0);
if (!AreEqual(output, dc.getDigest()))
{
Fail(digest.AlgorithmName + " message mismatch.\n Message " + Hex.ToHexString(dc.getMessage()),
Hex.ToHexString(dc.getDigest()), Hex.ToHexString(output));
}
// Clone test
digest.BlockUpdate(message, 0, message.Length / 2);
// clone the Digest
IDigest d = new SkeinDigest(digest);
digest.BlockUpdate(message, message.Length / 2, message.Length - message.Length / 2);
digest.DoFinal(output, 0);
if (!AreEqual(dc.getDigest(), output))
{
Fail("failing clone vector test", Hex.ToHexString(dc.getDigest()), Hex.ToHexString(output));
}
d.BlockUpdate(message, message.Length / 2, message.Length - message.Length / 2);
d.DoFinal(output, 0);
if (!AreEqual(dc.getDigest(), output))
{
Fail("failing second clone vector test", Hex.ToHexString(dc.getDigest()), Hex.ToHexString(output));
}
// //
// // memo test
// //
// Memoable m = (Memoable)digest;
//
// digest.Update(message, 0, message.Length / 2);
//
// // copy the Digest
// Memoable copy1 = m.copy();
// Memoable copy2 = copy1.copy();
//
// digest.Update(message, message.Length / 2, message.Length - message.Length / 2);
// digest.DoFinal(output, 0);
//
// if (!AreEqual(dc.getDigest(), output))
// {
// Fail("failing memo vector test", Hex.ToHexString(dc.getDigest()), Hex.ToHexString(output));
// }
//
// m.reset(copy1);
//
// digest.Update(message, message.Length / 2, message.Length - message.Length / 2);
// digest.DoFinal(output, 0);
//
// if (!AreEqual(dc.getDigest(), output))
// {
// fail("failing memo reset vector test", Hex.ToHexString(dc.getDigest()), Hex.ToHexString(output));
// }
//
// IDigest md = (IDigest)copy2;
//
// md.Update(message, message.Length / 2, message.Length - message.Length / 2);
// md.DoFinal(output, 0);
//
// if (!AreEqual(dc.getDigest(), output))
// {
// Fail("failing memo copy vector test", Hex.ToHexString(dc.getDigest()), Hex.ToHexString(output));
// }
}