anchor.diff:  {$IFDEF Use_OpenSSL}
   Var p : PAnsiChar;
     i : Integer;
  +{$ELSE}
  + var
  + LBigInteger: TBigInteger;
   {$ENDIF}
   begin
   {$IFDEF Use_OpenSSL}
  
positive.code:   {$ENDIF}
    OPENSSL_free(p);
  {$ELSE}
    Result := FBigInteger.ToByteArrayUnsigned.ToHexaString;
  {$ENDIF}
  end;
  
  
negative.code:       Raise ECryptoException.Create('Invalid Hexadecimal value:'+Value);
    end;
  {$ELSE}
    LowIndex := Low(Value);
    if Value[LowIndex] = '-' then LValue := System.Copy(Value, LowIndex + 1, High(Value) - 1)
    else
   LValue := Value;
    if not TCrypto.IsHexString(LValue) then
        Raise ECryptoException.Create('Invalid Hexadecimal value:'+Value);
    FBigInteger := TBigInteger.Create(Value, 16);
  {$ENDIF}
  end;
  
  