消息验证代码或 MAC 会计算文件的摘要并使用密钥进一步保护该摘要。MAC 不会修改原始文件。
% mac -l Algorithm Keysize: Min Max ----------------------------------- des_mac 64 64 sha1_hmac 8 512 md5_hmac 8 512 |
生成相应长度的对称密钥。
您有两种选择。可以提供将根据其生成密钥的 passphrase(口令短语)。或者,可以提供密钥。
如果提供密钥,则它必须是对应于机制的正确大小。有关过程,请参见如何生成对称密钥。
为 mac 命令提供密钥并使用对称密钥算法。
% mac -v -a algorithm [ -k keyfile ] input-file |
显示以下格式的输出:
algorithm (input-file) = mac |
用于计算 MAC 的算法。键入与 mac -l 命令的输出中显示的算法相同的算法。
包含算法所指定长度的密钥的文件。
MAC 的输入文件。
在以下示例中,将使用 DES_MAC 机制和派生于口令短语的密钥对电子邮件附件进行验证。MAC 列表将保存到文件中。如果口令短语存储在某个文件中,则除了该用户之外,其他任何人都不能读取该文件。
% mac -v -a des_mac email.attach Enter key: <键入口令短语> des_mac (email.attach) = dd27870a % echo "des_mac (email.attach) = dd27870a" >> ~/desmac.daily.05.07 |
在以下示例中,将使用 MD5_HMAC 机制和密钥对电子邮件附件进行验证。MAC 列表将保存到文件中。
% mac -v -a md5_hmac -k $HOME/keyf/05.07.mack64 email.attach md5_hmac (email.attach) = 02df6eb6c123ff25d78877eb1d55710c % echo "md5_hmac (email.attach) = 02df6eb6c123ff25d78877eb1d55710c" \ >> ~/mac.daily.05.07 |
在以下示例中,将使用 SHA1_HMAC 机制和密钥对目录清单进行验证。结果保存于文件中。
% mac -v -a sha1_hmac \ -k $HOME/keyf/05.07.mack64 docs/* > $HOME/mac.docs.legal.05.07 % more ~/mac.docs.legal.05.07 sha1_hmac (docs/legal1) = 9b31536d3b3c0c6b25d653418db8e765e17fe07a sha1_hmac (docs/legal2) = 865af61a3002f8a457462a428cdb1a88c1b51ff5 sha1_hmac (docs/legal3) = 076c944cb2528536c9aebd3b9fbe367e07b61dc7 sha1_hmac (docs/legal4) = 7aede27602ef6e4454748cbd3821e0152e45beb4 |