1fitsmd5(1)                  General Commands Manual                 fitsmd5(1)
2
3
4

NAME

6       fitsmd5 - Compute/update the DATAMD5 keyword/value
7

SYNOPSIS

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

DESCRIPTION

12       fitsmd5 computes the MD5 signature of all data sections in a FITS file,
13       and prints out the results  on  stdout.  This  command  can  optionally
14       update the main FITS header in modifying the value of the DATAMD5 key.
15
16       This  command  is  useful to give a unique ID to a FITS file. The algo‐
17       rithm simply browses through all data sections in the  input  file  and
18       passes  the  data blocks to an MD5 hash function. The final result is a
19       128-bit signature that can be used to uniquely identify the file.
20
21       This approach is meant to provide a tool to tag FITS files with  unique
22       IDs,  it  is not meant to be used as a checksum for file integrity (the
23       CKSUM key is the solution for that), although it could be used in  that
24       spirit.  The  main  point  is  that  only  data sections are taken into
25       account, leaving  the  possibility  of  changing  the  headers  without
26       affecting the data signature.
27
28       MD5 hashing is cryptographically strong, which means the probability of
29       having two different FITS files getting the same ID is almost zero.  It
30       should  be  good  enough to assign a unique ID to several tens of thou‐
31       sands of frames. Since there is still a tiny but  non-zero  possibility
32       that  two  different  files will get an identical key, this approach is
33       not recommended to tag very large numbers of files (typically: millions
34       of  them). If you do have a large database of FITS files, using a time‐
35       stamp is usually a better approach.
36
37       The MD5 signature is a good solution to tag a list of FITS files  which
38       might  have originated from various sources on which the database main‐
39       tainer has no control. Typically, calibration databases  holding  cali‐
40       bration  frames  for  a  given  instrument, receive data from different
41       actors who might not be in sync with unique  file  naming  conventions.
42       This  command makes sure it is always possible to assign a unique ID to
43       each frame.
44
45       Notice that if the input FITS file has no data  section,  the  returned
46       MD5      key      will      be      non-zero     (it     is     exactly
47       d41d8cd98f00b204e9800998ecf8427e).  This  signature  also  offers   the
48       interesting  property  that  if  two files have exactly the same pixels
49       (bit-wise comparisons) they will get the same ID, this is  useful  e.g.
50       for regression tests.
51
52       If  you  want to produce files containing the DATAMD5 key in their main
53       headers, you should use the qfits library, which  always  inserts  this
54       key. If you are working with other FITS-processing software, you should
55       allocate an empty DATAMD5 placeholder and apply this command  with  the
56       -u option to update the value.
57
58       Notice  that  this  command  can also compute the MD5 sum of a complete
59       file, not just its data sections (see -a option).  In  this  mode,  the
60       command  is  completely  identical  to the GNU md5sum command, which is
61       used to compute checksums on files. Input files in that case  need  not
62       be FITS, though they still need to be regular files.
63

OPTIONS

65       -u     Try to update the DATAMD5 keyword in the main header if present.
66
67       -s     Silent mode: run without printing any message.
68
69       -a     Compute  the  MD5 sum on all bits in the file. In this mode, the
70              command behaves like the GNU md5sum command, to be used e.g.  as
71              a checksum. This option excludes all others.
72

FILES

74       Input  files  to fitsmd5 shall comply with the FITS format, except when
75       used with -a option.
76
77
78
79                                  01 Aug 2001                       fitsmd5(1)
Impressum