doFinal method

  1. @override
int doFinal(
  1. Uint8List out,
  2. int outOff
)
override

Store the digest of previously given data in buffer out starting at offset outOff. This method returns the size of the digest.

Implementation

@override
int doFinal(Uint8List out, int outOff) {
  finish();

  var tmp = Uint8List(64);

  var view = ByteData.view(tmp.buffer, tmp.offsetInBytes, tmp.length);
  h1.pack(view, 0, Endian.big);
  h2.pack(view, 8, Endian.big);
  h3.pack(view, 16, Endian.big);
  h4.pack(view, 24, Endian.big);
  h5.pack(view, 32, Endian.big);
  h6.pack(view, 40, Endian.big);
  h7.pack(view, 48, Endian.big);
  h8.pack(view, 56, Endian.big);

  out.setRange(outOff, outOff + digestSize, tmp);

  reset();

  return digestSize;
}