Neuron®
The Neuron® is the basis for the creation of open and secure federated networks for smart societies.
Loading...
Searching...
No Matches
Sha2_256.cs
1using System;
2using System.Threading.Tasks;
8
10{
15 {
24 : base(Data, Start, Length, Expression)
25 {
26 }
27
31 public override string FunctionName => nameof(Sha2_256);
32
40 {
41 if (!(Argument.AssociatedObjectValue is byte[] Bin))
42 {
43 if (!(Argument.AssociatedObjectValue is string s))
44 s = Expression.ToString(Argument.AssociatedObjectValue);
45
46 return this.EvaluateScalar(s, Variables);
47 }
48
49 return new ObjectValue(Hashes.ComputeSHA256Hash(Bin));
50 }
51
58 public override Task<IElement> EvaluateScalarAsync(IElement Argument, Variables Variables)
59 {
60 return Task.FromResult(this.EvaluateScalar(Argument, Variables));
61 }
62
70 {
71 byte[] Bin = System.Text.Encoding.UTF8.GetBytes(Argument);
72 return new ObjectValue(Hashes.ComputeSHA256Hash(Bin));
73 }
74
81 public override Task<IElement> EvaluateScalarAsync(string Argument, Variables Variables)
82 {
83 return Task.FromResult(this.EvaluateScalar(Argument, Variables));
84 }
85
86 }
87}
override Task< IElement > EvaluateScalarAsync(string Argument, Variables Variables)
Evaluates the function on a scalar argument.
Definition: Sha2_256.cs:81
override IElement EvaluateScalar(string Argument, Variables Variables)
Evaluates the function on a scalar argument.
Definition: Sha2_256.cs:69
override IElement EvaluateScalar(IElement Argument, Variables Variables)
Evaluates the function on a scalar argument.
Definition: Sha2_256.cs:39
override Task< IElement > EvaluateScalarAsync(IElement Argument, Variables Variables)
Evaluates the function on a scalar argument.
Definition: Sha2_256.cs:58
override string FunctionName
Name of the function
Definition: Sha2_256.cs:31
Sha2_256(ScriptNode Data, int Start, int Length, Expression Expression)
Sha2_256(Data)
Definition: Sha2_256.cs:23
Class managing a script expression.
Definition: Expression.cs:39
static string ToString(double Value)
Converts a value to a string, that can be parsed as part of an expression.
Definition: Expression.cs:4496
Base class for funcions of one scalar variable.
ScriptNode Argument
Function argument.
Base class for all nodes in a parsed script tree.
Definition: ScriptNode.cs:69
int Length
Length of expression covered by node.
Definition: ScriptNode.cs:101
int Start
Start position in script expression.
Definition: ScriptNode.cs:92
Collection of variables.
Definition: Variables.cs:25
Contains methods for simple hash calculations.
Definition: Hashes.cs:59
static byte[] ComputeSHA256Hash(byte[] Data)
Computes the SHA-256 hash of a block of binary data.
Definition: Hashes.cs:348
Basic interface for all types of elements.
Definition: IElement.cs:20