当前位置: 首页>>代码示例>>Java>>正文


Java SkeinDigest.update方法代码示例

本文整理汇总了Java中org.bouncycastle.crypto.digests.SkeinDigest.update方法的典型用法代码示例。如果您正苦于以下问题:Java SkeinDigest.update方法的具体用法?Java SkeinDigest.update怎么用?Java SkeinDigest.update使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.bouncycastle.crypto.digests.SkeinDigest的用法示例。


在下文中一共展示了SkeinDigest.update方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: runTest

import org.bouncycastle.crypto.digests.SkeinDigest; //导入方法依赖的package包/类
private void runTest(Case dc)
{
    SkeinDigest digest = new SkeinDigest(dc.getBlockSize(), dc.getOutputSize());

    byte[] message = dc.getMessage();
    digest.update(message, 0, message.length);

    byte[] output = new byte[digest.getDigestSize()];
    digest.doFinal(output, 0);

    if (!Arrays.areEqual(output, dc.getDigest()))
    {
        fail(digest.getAlgorithmName() + " message mismatch.\n Message " + new String(Hex.encode(dc.getMessage())),
            new String(Hex.encode(dc.getDigest())), new String(Hex.encode(output)));
    }

    // Clone test
    digest.update(message, 0, message.length / 2);

    // clone the Digest
    Digest d = new SkeinDigest(digest);

    digest.update(message, message.length / 2, message.length - message.length / 2);
    digest.doFinal(output, 0);

    if (!areEqual(dc.getDigest(), output))
    {
        fail("failing clone vector test", new String(Hex.encode(dc.getDigest())), new String(Hex.encode(output)));
    }

    d.update(message, message.length / 2, message.length - message.length / 2);
    d.doFinal(output, 0);

    if (!areEqual(dc.getDigest(), output))
    {
        fail("failing second clone vector test", new String(Hex.encode(dc.getDigest())), new String(Hex.encode(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", new String(Hex.encode(dc.getDigest())), new String(Hex.encode(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", new String(Hex.encode(dc.getDigest())), new String(Hex.encode(output)));
    }

    Digest md = (Digest)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", new String(Hex.encode(dc.getDigest())), new String(Hex.encode(output)));
    }
}
 
开发者ID:ttt43ttt,项目名称:gwt-crypto,代码行数:78,代码来源:SkeinDigestTest.java

示例2: runTest

import org.bouncycastle.crypto.digests.SkeinDigest; //导入方法依赖的package包/类
private void runTest(Case dc)
{
    SkeinDigest digest = new SkeinDigest(dc.getBlockSize(), dc.getOutputSize());

    byte[] message = dc.getMessage();
    digest.update(message, 0, message.length);

    byte[] output = new byte[digest.getDigestSize()];
    digest.doFinal(output, 0);

    if (!MessageDigest.isEqual(output, dc.getDigest()))
    {
        fail(digest.getAlgorithmName() + " message mismatch.\n Message " + new String(Hex.encode(dc.getMessage())),
            new String(Hex.encode(dc.getDigest())), new String(Hex.encode(output)));
    }

    // Clone test
    digest.update(message, 0, message.length / 2);

    // clone the Digest
    Digest d = new SkeinDigest(digest);

    digest.update(message, message.length / 2, message.length - message.length / 2);
    digest.doFinal(output, 0);

    if (!areEqual(dc.getDigest(), output))
    {
        fail("failing clone vector test", new String(Hex.encode(dc.getDigest())), new String(Hex.encode(output)));
    }

    d.update(message, message.length / 2, message.length - message.length / 2);
    d.doFinal(output, 0);

    if (!areEqual(dc.getDigest(), output))
    {
        fail("failing second clone vector test", new String(Hex.encode(dc.getDigest())), new String(Hex.encode(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", new String(Hex.encode(dc.getDigest())), new String(Hex.encode(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", new String(Hex.encode(dc.getDigest())), new String(Hex.encode(output)));
    }

    Digest md = (Digest)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", new String(Hex.encode(dc.getDigest())), new String(Hex.encode(output)));
    }
}
 
开发者ID:credentials,项目名称:irma_future_id,代码行数:78,代码来源:SkeinDigestTest.java


注:本文中的org.bouncycastle.crypto.digests.SkeinDigest.update方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。