OnWorks favicon

fitsmd5 - Online in the Cloud

Run fitsmd5 in OnWorks free hosting provider over Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator

This is the command fitsmd5 that can be run in the OnWorks free hosting provider using one of our multiple free online workstations such as Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator



fitsmd5 - Compute/update the DATAMD5 keyword/value


fitsmd5 [-u] [-s] [-a] <FITS files...>


fitsmd5 computes the MD5 signature of all data sections in a FITS file, and prints out the
results on stdout. This command can optionally update the main FITS header in modifying
the value of the DATAMD5 key.

This command is useful to give a unique ID to a FITS file. The algorithm simply browses
through all data sections in the input file and passes the data blocks to an MD5 hash
function. The final result is a 128-bit signature that can be used to uniquely identify
the file.

This approach is meant to provide a tool to tag FITS files with unique IDs, it is not
meant to be used as a checksum for file integrity (the CKSUM key is the solution for
that), although it could be used in that spirit. The main point is that only data sections
are taken into account, leaving the possibility of changing the headers without affecting
the data signature.

MD5 hashing is cryptographically strong, which means the probability of having two
different FITS files getting the same ID is almost zero. It should be good enough to
assign a unique ID to several tens of thousands of frames. Since there is still a tiny but
non-zero possibility that two different files will get an identical key, this approach is
not recommended to tag very large numbers of files (typically: millions of them). If you
do have a large database of FITS files, using a timestamp is usually a better approach.

The MD5 signature is a good solution to tag a list of FITS files which might have
originated from various sources on which the database maintainer has no control.
Typically, calibration databases holding calibration frames for a given instrument,
receive data from different actors who might not be in sync with unique file naming
conventions. This command makes sure it is always possible to assign a unique ID to each

Notice that if the input FITS file has no data section, the returned MD5 key will be non-
zero (it is exactly d41d8cd98f00b204e9800998ecf8427e). This signature also offers the
interesting property that if two files have exactly the same pixels (bit-wise comparisons)
they will get the same ID, this is useful e.g. for regression tests.

If you want to produce files containing the DATAMD5 key in their main headers, you should
use the qfits library, which always inserts this key. If you are working with other FITS-
processing software, you should allocate an empty DATAMD5 placeholder and apply this
command with the -u option to update the value.

Notice that this command can also compute the MD5 sum of a complete file, not just its
data sections (see -a option). In this mode, the command is completely identical to the
GNU md5sum command, which is used to compute checksums on files. Input files in that case
need not be FITS, though they still need to be regular files.


-u Try to update the DATAMD5 keyword in the main header if present.

-s Silent mode: run without printing any message.

-a Compute the MD5 sum on all bits in the file. In this mode, the command behaves like
the GNU md5sum command, to be used e.g. as a checksum. This option excludes all

Use fitsmd5 online using onworks.net services

Free Servers & Workstations

Download Windows & Linux apps

  • 1
    Alt-F provides a free and open source
    alternative firmware for the DLINK
    DNS-320/320L/321/323/325/327L and
    DNR-322L. Alt-F has Samba and NFS;
    supports ext2/3/4...
    Download Alt-F
  • 2
    Usm is a unified slackware package
    manager that handles automatic
    dependency resolution. It unifies
    various package repositories including
    slackware, slacky, p...
    Download usm
  • 3
    Chart.js is a Javascript library that
    allows designers and developers to draw
    all kinds of charts using the HTML5
    canvas element. Chart js offers a great
    array ...
    Download Chart.js
  • 4
    iReport-Designer for JasperReports
    iReport-Designer for JasperReports
    NOTE: iReport/Jaspersoft Studio Support
    Announcement: As of version 5.5.0,
    Jaspersoft Studio will be the official
    design client for JasperReports. iReport
    Download iReport-Designer for JasperReports
  • 5
    PostInstallerF will install all the
    software that Fedora Linux and others
    doesn't include by default, after
    running Fedora for the first time. Its
    easy for...
    Download PostInstallerF
  • 6
    The strace project has been moved to
    https://strace.io. strace is a
    diagnostic, debugging and instructional
    userspace tracer for Linux. It is used
    to monitor a...
    Download strace
  • More »

Linux commands