anchor.diff:  
       PK := EC_KEY_new_by_curve_name(EC_OpenSSL_NID);
       EC_KEY_set_public_key(PK,@PubKey);
  -    Case ECDSA_do_verify(PAnsiChar(digest),length(digest),PECS,PK) of
  +    Case ECDSA_do_verify(@digest[Low(digest)],Length(digest),PECS,PK) of
         1 : Result := true;
         0 : Result := false;
       Else
  
positive.code:  lc : AnsiString;
   i : Integer;
  begin
    Result := '';
    if ((Length(HexaString) MOD 2)<>0) Or (Length(HexaString)=0) then exit;
    SetLength(result,Length(HexaString) DIV 2);
    P := @Result[Low(Result)];
    lc := LowerCase(HexaString);
    i := HexToBin(PAnsiChar(@lc[Low(lc)]),P,Length(Result));
    if (i<>(Length(HexaString) DIV 2)) then begin
      TLog.NewLog(lterror,Classname,'Invalid HEXADECIMAL string result '+inttostr(i)+'<>'+inttostr(Length(HexaString) DIV 2)+': '+HexaString);
      Result := '';
    end;
  end;
  
  
negative.code:  lc : AnsiString;
   i : Integer;
  begin
    Result := False;
    SetLength(raw,0);
    if ((Length(HexaString) MOD 2)<>0) then Exit;
    if (Length(HexaString)=0) then begin
      Result := True;
  