public byte[] Digest(byte[] data, params object[] extra) { Contract.RequiresNonNull(data, nameof(data)); var result = new byte[32]; fixed(byte *input = data) { fixed(byte *output = result) { LibMultihash.throestl(input, output, (uint)data.Length); } } return(result); }