title: Checksum of array elements
body: <p>I have a multidimensional array of <code>Bytes</code> defined as follows:</p>
  
  <pre><code>type
    TRow = array[0..6] of Byte;
  var
    All: array[0..19112079] of TRow;  
  </code></pre>
  
  <p>Now, I would like to generate a unique checksum of each row the array consists of and save to a file, like so:</p>
  
  <pre><code>var
    I: Integer;
  begin
    for I := 0 to 19112079 do
    begin
      Checksum := GenerateChecksum(All[I]);
      Writeln(F, Checksum);
    end;
  end;
  </code></pre>
  
  <p>What should I do about the <code>GenerateChecksum()</code> function? I've tried <code>xor</code> and <code>CRC32</code>, but they are not really suitable for this task, as they return duplicated values. I'd like to generate a <strong>unique</strong> checksum for each row.</p>
  
  <p><strong>EDIT</strong>
  Oh, the checksum should be computed in such way that it allows to compare rows. I would like to take two checksums of different rows and tell whether one of them is greater than the other, lesser than the other, or equal. Is there a chance of achieving something like that?</p>
  
  <p><strong>EDIT2</strong>
  Example data in two adjacent rows:</p>
  
  <pre><code>Row x - 1: 120, 444, 323, 984, 1024, 76, 130
  Row x:     120, 444, 323, 984, 1024, 76, 222
  Row x + 1: 120, 444, 323, 984, 1024, 76, 121
  . . .
  Row x + n: 120, 444, 323, 984, 6333, 33, 935
  </code></pre>
  
  <p>Thank you.</p>