ウノウラボ Unoh Labs: MacPorts の使い方と開発方法について の スライド の 50 頁目に checksum の例があるのだが、OpenSSL でもコマンドラインでチェックサムを簡単に求められるということを知った。
tarball が改ざんされていないかどうかのチェックに使用される md5sum など checksum を計算するプログラムは coreutils というパッケージに入っている。coreutils では他にもいろんなアルゴリズムのものが提供されている。
% cygcheck -l coreutils | grep 'sum.exe' /usr/bin/cksum.exe /usr/bin/md5sum.exe /usr/bin/sha1sum.exe /usr/bin/sha224sum.exe /usr/bin/sha256sum.exe /usr/bin/sha384sum.exe /usr/bin/sha512sum.exe /usr/bin/sum.exe
OpenSSL でもアルゴリズムをサブコマンドで指定すると、*sum と同じように使うことができる。
% echo -n | md5sum d41d8cd98f00b204e9800998ecf8427e *- % echo -n | openssl md5 d41d8cd98f00b204e9800998ecf8427e % echo -n | openssl dgst d41d8cd98f00b204e9800998ecf8427e
OpenSSL で使えるのは以下のアルゴリズムらしい。
OpenSSL> help openssl:Error: 'help' is an invalid command. Standard commands asn1parse ca ciphers crl crl2pkcs7 dgst dh dhparam dsa dsaparam ec ecparam enc engine errstr gendh gendsa genrsa nseq ocsp passwd pkcs12 pkcs7 pkcs8 prime rand req rsa rsautl s_client s_server s_time sess_id smime speed spkac verify version x509 Message Digest commands (see the `dgst' command for more details) md2 md4 md5 rmd160 sha sha1 Cipher commands (see the `enc' command for more details) aes-128-cbc aes-128-ecb aes-192-cbc aes-192-ecb aes-256-cbc aes-256-ecb base64 bf bf-cbc bf-cfb bf-ecb bf-ofb cast cast-cbc cast5-cbc cast5-cfb cast5-ecb cast5-ofb des des-cbc des-cfb des-ecb des-ede des-ede-cbc des-ede-cfb des-ede-ofb des-ede3 des-ede3-cbc des-ede3-cfb des-ede3-ofb des-ofb des3 desx rc2 rc2-40-cbc rc2-64-cbc rc2-cbc rc2-cfb rc2-ecb rc2-ofb rc4 rc4-40
だから、何だと言えばそれまでだが。