예제 #1
0
        /// <summary>
        /// Evaluates the function on a scalar argument.
        /// </summary>
        /// <param name="Argument">Function argument.</param>
        /// <param name="Variables">Variables collection.</param>
        /// <returns>Function result.</returns>
        public override IElement EvaluateScalar(IElement Argument, Variables Variables)
        {
            if (!(Argument.AssociatedObjectValue is byte[] Bin))
            {
                string s = Argument is StringValue S ? S.Value : Expression.ToString(Argument.AssociatedObjectValue);
                Bin = System.Text.Encoding.UTF8.GetBytes(s);
            }

            return(new ObjectValue(Hashes.ComputeMD5Hash(Bin)));
        }
 internal static byte[] H(byte[] Data)
 {
     return(Hashes.ComputeMD5Hash(Data));
 }
예제 #3
0
 /// <summary>
 /// Hash function
 /// </summary>
 /// <param name="Data">Data to hash.</param>
 /// <returns>Hash of data.</returns>
 public override byte[] H(byte[] Data)
 {
     return(Hashes.ComputeMD5Hash(Data));
 }