Neuron®
The Neuron® is the basis for the creation of open and secure federated networks for smart societies.
Loading...
Searching...
No Matches
Md5.cs
1using System.Threading.Tasks;
6
8{
13 {
22 : base(Data, Start, Length, Expression)
23 {
24 }
25
29 public override string FunctionName => nameof(Md5);
30
38 {
39 if (!(Argument.AssociatedObjectValue is byte[] Bin))
40 {
41 if(!(Argument.AssociatedObjectValue is string s))
42 s = Expression.ToString(Argument.AssociatedObjectValue);
43
44 return this.EvaluateScalar(s, Variables);
45 }
46
47 return new ObjectValue(Hashes.ComputeMD5Hash(Bin));
48 }
49
56 public override Task<IElement> EvaluateScalarAsync(IElement Argument, Variables Variables)
57 {
58 return Task.FromResult(this.EvaluateScalar(Argument, Variables));
59 }
60
68 {
69 byte[] Bin = System.Text.Encoding.UTF8.GetBytes(Argument);
70 return new ObjectValue(Hashes.ComputeMD5Hash(Bin));
71 }
72
79 public override Task<IElement> EvaluateScalarAsync(string Argument, Variables Variables)
80 {
81 return Task.FromResult(this.EvaluateScalar(Argument, Variables));
82 }
83
84 }
85}
Md5(ScriptNode Data, int Start, int Length, Expression Expression)
Md5(Data)
Definition: Md5.cs:21
override string FunctionName
Name of the function
Definition: Md5.cs:29
override IElement EvaluateScalar(IElement Argument, Variables Variables)
Evaluates the function on a scalar argument.
Definition: Md5.cs:37
override Task< IElement > EvaluateScalarAsync(IElement Argument, Variables Variables)
Evaluates the function on a scalar argument.
Definition: Md5.cs:56
override Task< IElement > EvaluateScalarAsync(string Argument, Variables Variables)
Evaluates the function on a scalar argument.
Definition: Md5.cs:79
override IElement EvaluateScalar(string Argument, Variables Variables)
Evaluates the function on a scalar argument.
Definition: Md5.cs:67
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[] ComputeMD5Hash(byte[] Data)
Computes the MD5 hash of a block of binary data.
Definition: Hashes.cs:510
Basic interface for all types of elements.
Definition: IElement.cs:20