public TransactionOutput(AsymmetricKeyParameter receiver, float amount, string parentTransactionId) { this.Receiver = receiver; this.Amount = amount; this.ParentTransactionId = parentTransactionId; this.Id = SecurityUtil.ApplySha256(SecurityUtil.GetPublicKeyBase64(receiver) + amount.ToString() + parentTransactionId); }
private string CalculateTransactionHash() { Sequence++; SHA256 sha256 = SHA256.Create(); byte[] inputBytes = Encoding.ASCII.GetBytes( SecurityUtil.GetPublicKeyBase64(Sender) + SecurityUtil.GetPublicKeyBase64(Receiver) + Amount.ToString() + Sequence); byte[] outputBytes = sha256.ComputeHash(inputBytes); return(Convert.ToBase64String(outputBytes)); }
public bool VerifiySignature() { string data = SecurityUtil.GetPublicKeyBase64(Sender) + SecurityUtil.GetPublicKeyBase64(Receiver) + Amount.ToString(); return(SecurityUtil.Verify(Sender, data, Signature)); }
public void GenerateSignature(AsymmetricKeyParameter privateKey) { string data = SecurityUtil.GetPublicKeyBase64(Sender) + SecurityUtil.GetPublicKeyBase64(Receiver) + Amount.ToString(); Signature = SecurityUtil.Sign(privateKey, data); }