Hi Simon,

> We are all familiar with the idea of an MD5 checksum, which provides a 
> reliable "fingerprint" for a file, usually 128 bits or so.  If the file 
> changes, the fingerprint is (almost) certain to do so too.  There are lots of 
> techniques: CRC, shar?, MD5, etc.

I believe the basic operations are all in the Crypto library:
http://hackage.haskell.org/cgi-bin/hackage-scripts/package/Crypto-3.0.3
- see Data.Digest.SHA1 and Data.Digest.MD5 - digest is simply another
word for fingerprint in this sense.

However, your fingerprint stuff sounds a lot more like a request for a
Hash function - rather than something that operates over streams of
bytes. To get both, I'd recommend something like taking the digest of
the data after calling show, or after serialising it to a ByteString
with the binary library. Doing it this way means you have no
additional need for a FingerPrint class but can reuse the existing
Show/Binary class.

Thanks

Neil
_______________________________________________
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell

Reply via email to