shash is a program which produces message digests for files, and checks whether the digest remains the same (i.e., whether the files changed). Since anyone can generate the message digest, it may not be suitable for some security-related applications. Because of this, shash also supports HMAC (rfc2104), which is a mechanism for message authentication using cryptographic hash functions. shash can use a key with a hash algorithm to produce hashes that can only be verified with the same key. This way, you can securely check whether files in a filesystem were altered.