org.bouncycastle.crypto.digests.SHA256Digest.reset()方法的使用及代码示例

x33g5p2x  于2022-01-30 转载在 其他  
字(2.4k)|赞(0)|评价(0)|浏览(94)

本文整理了Java中org.bouncycastle.crypto.digests.SHA256Digest.reset()方法的一些代码示例,展示了SHA256Digest.reset()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。SHA256Digest.reset()方法的具体详情如下:
包路径:org.bouncycastle.crypto.digests.SHA256Digest
类名称:SHA256Digest
方法名:reset

SHA256Digest.reset介绍

[英]reset the chaining variables
[中]重置链接变量

代码示例

代码示例来源:origin: redfish64/TinyTravelTracker

/**
 * Standard constructor
 */
public SHA256Digest()
{
  reset();
}

代码示例来源:origin: org.bouncycastle/bcprov-debug-jdk15on

/**
 * Standard constructor
 */
public SHA256Digest()
{
  reset();
}

代码示例来源:origin: horrorho/LiquidDonkey

byte[] hash = new byte[sha256.getDigestSize()];
sha256.reset();
sha256.update(pad, 0, pad.length);
sha256.update(shared, 0, shared.length);

代码示例来源:origin: horrorho/InflatableDonkey

public static Optional<byte[]> curve25519Unwrap(
      byte[] myPublicKey,
      byte[] myPrivateKey,
      byte[] otherPublicKey,
      byte[] wrappedKey) {

    SHA256Digest sha256 = new SHA256Digest();

    byte[] shared = Curve25519.agreement(otherPublicKey, myPrivateKey);
    logger.debug("-- curve25519Unwrap() - shared agreement: 0x{}", Hex.toHexString(shared));

    // Stripped down NIST SP 800-56A KDF.
    byte[] counter = new byte[]{0x00, 0x00, 0x00, 0x01};
    byte[] hash = new byte[sha256.getDigestSize()];

    sha256.reset();
    sha256.update(counter, 0, counter.length);
    sha256.update(shared, 0, shared.length);
    sha256.update(otherPublicKey, 0, otherPublicKey.length);
    sha256.update(myPublicKey, 0, myPublicKey.length);
    sha256.doFinal(hash, 0);

    logger.debug("-- curve25519Unwrap() - kek: {}", Hex.toHexString(hash));
    return RFC3394Wrap.unwrapAES(hash, wrappedKey);
  }
}

代码示例来源:origin: org.bouncycastle/bcprov-debug-jdk15on

public int doFinal(
  byte[]  out,
  int     outOff)
{
  finish();
  Pack.intToBigEndian(H1, out, outOff);
  Pack.intToBigEndian(H2, out, outOff + 4);
  Pack.intToBigEndian(H3, out, outOff + 8);
  Pack.intToBigEndian(H4, out, outOff + 12);
  Pack.intToBigEndian(H5, out, outOff + 16);
  Pack.intToBigEndian(H6, out, outOff + 20);
  Pack.intToBigEndian(H7, out, outOff + 24);
  Pack.intToBigEndian(H8, out, outOff + 28);
  reset();
  return DIGEST_LENGTH;
}

代码示例来源:origin: redfish64/TinyTravelTracker

public int doFinal(
  byte[]  out,
  int     outOff)
{
  finish();
  Pack.intToBigEndian(H1, out, outOff);
  Pack.intToBigEndian(H2, out, outOff + 4);
  Pack.intToBigEndian(H3, out, outOff + 8);
  Pack.intToBigEndian(H4, out, outOff + 12);
  Pack.intToBigEndian(H5, out, outOff + 16);
  Pack.intToBigEndian(H6, out, outOff + 20);
  Pack.intToBigEndian(H7, out, outOff + 24);
  Pack.intToBigEndian(H8, out, outOff + 28);
  reset();
  return DIGEST_LENGTH;
}

相关文章