public static string SHA256(byte[] data) { using var sha256 = Crypto.SHA256.Create(); var result = sha256.ComputeHash(data); return(HexUtils.HexFromByteArray(result)); }
public static string SHA256(Stream stream) { using var sha256 = Crypto.SHA256.Create(); stream.Seek(0, SeekOrigin.Begin); var result = sha256.ComputeHash(stream); return(HexUtils.HexFromByteArray(result)); }
public static bool TxInSignatureContainsPublicKey(string txInSignature, PublicKey publicKey) { int indexOfDelimiter = txInSignature.IndexOf('.'); if (indexOfDelimiter < 0) { return(false); } var publicKeyString = HexUtils.HexFromByteArray(publicKey.toDer()); if (txInSignature.Length < publicKeyString.Length) { return(false); } return(txInSignature.EndsWith(publicKeyString)); }