anchor.diff:    // or (UInt64(AInput[AIndex + 7]) shl 56);
   end;
   
  -class function TConverters.ReadBytesAsUInt32LE(AInput: PByte;
  +class function TConverters.ReadBytesAsUInt32BE(AInput: PByte;
     AIndex: Int32): UInt32;
   begin
  -  result := ReadPCardinalAsUInt32LE(PCardinal(AInput + AIndex));
  -end;
  -
  -class function TConverters.ReadBytesAsUInt64LE(AInput: PByte;
  +  result := ReadPCardinalAsUInt32BE(PCardinal(AInput + AIndex));
  +  // while this below is slower, it's portable
  +  // result := (UInt32(AInput[AIndex]) shl 24) or
  +  // (UInt32(AInput[AIndex + 1]) shl 16) or (UInt32(AInput[AIndex + 2]) shl 8) or
  +  // (UInt32(AInput[AIndex + 3]));
  +end;
  +
  +class function TConverters.ReadBytesAsUInt64BE(AInput: PByte;
     AIndex: Int32): UInt64;
   begin
  -  result := ReadPUInt64AsUInt64LE(PUInt64(AInput + AIndex));
  +  result := ReadPUInt64AsUInt64BE(PUInt64(AInput + AIndex));
  +  // while this below is slower, it's portable
  +  // result := (UInt64(AInput[AIndex]) shl 56) or
  +  // (UInt64(AInput[AIndex + 1]) shl 48) or (UInt64(AInput[AIndex + 2]) shl 40)
  +  // or (UInt64(AInput[AIndex + 3]) shl 32) or
  +  // (UInt64(AInput[AIndex + 4]) shl 24) or (UInt64(AInput[AIndex + 5]) shl 16)
  +  // or (UInt64(AInput[AIndex + 6]) shl 8) or (UInt64(AInput[AIndex + 7]));
   end;
   
   class function TConverters.ReadUInt32AsBytesLE(AInput: UInt32)
  
positive.code: class procedure TConverters.ReadUInt64AsBytesBE(AInput: UInt64;
    const AOutput: THashLibByteArray; AIndex: Int32);
  begin
    AOutput[AIndex] := Byte(AInput shr 56);
    AOutput[AIndex + 1] := Byte(AInput shr 48);
    AOutput[AIndex + 2] := Byte(AInput shr 40);
  
negative.code:   AOutput[AIndex + 5] := Byte(AInput shr 16);
    AOutput[AIndex + 6] := Byte(AInput shr 8);
    AOutput[AIndex + 7] := Byte(AInput);
  {$ELSE}
  {$IFDEF HASHLIB_REQUIRES_PROPER_ALIGNMENT}
    System.Move(AInput, AOutput[AIndex], System.SizeOf(UInt64));
  {$ELSE}
    PUInt64(PByte(AOutput) + AIndex)^ := AInput;
  {$ENDIF HASHLIB_REQUIRES_PROPER_ALIGNMENT}
  {$ENDIF HASHLIB_LITTLE_ENDIAN}
  end;
  
  class function TConverters.ReadPCardinalAsUInt32(AInput: PCardinal): UInt32;
  