ダウンロードしたファイルのSHA1チェックサムを計算するために、次のように入力します。
/usr/bin/openssl sha1
ターミナルで、チェックしたいファイルをそこにドラッグします。簡単にするために、このアクションのコンテキストメニュー項目を有効にすることができます。
Mac OS X 10.6でそのようなアイテムを作成する最良の方法は何ですか?私はAppleScriptなどの経験があまりないので、詳細な回答をいただければ幸いです。
ステップバイステップ
/usr/bin/openssl sha1 "$@"
で、入力を引数として渡すシェルスクリプトを実行するどうすれば出力を取得できますか?できれば、Growlポップアップまたはメッセージウィンドウ/ダイアログで。
アクションの追加シェルスクリプトを実行し、シェルを/ bin/bashに設定し、入力を「引数として」に渡して、次のスクリプトを入力します。
for file; do
if [[ -d "$file" ]]; then
echo "$(basename "$file") is a directory"
else
cd "$(dirname "$file")"
/usr/bin/openssl sha1 "$(basename "$file")"
fi
done | tr "\n" "\r"
アクションの追加Applescriptを実行し、次のスクリプトを入力します。
on run {input, parameters}
tell application "System Events"
activate
display dialog input buttons {"OK"} default button 1
end tell
end run
わかりやすい名前でサービスを保存します
私はゴードンの優れた答えを出発点として、それを少し装飾しました。他の誰かがそれらを役に立つと思うかもしれない場合に備えて、ここにそれらの変更を投稿してください。私のバージョンでは、MD5とSHA1ハッシュ(より読みやすい形式)が計算され、AppleScriptエラーをスローする代わりに[OK]ボタンをクリックするのを忘れると、5分後にタイムアウトになります。
シェルスクリプト
for file; do
if [[ -d "$file" ]]; then
echo "$(basename "$file") is a directory"
else
cd "$(dirname "$file")"
echo -e "$(basename "$file")\r"
echo -n "MD5: "
/usr/bin/openssl md5 "$(basename "$file")" | egrep -o [a-f0-9]{32}
echo -n "SHA1: "
/usr/bin/openssl sha1 "$(basename "$file")" | egrep -o [a-f0-9]{40}
fi
done | tr "\n" "\r"
AppleScript
on run {input, parameters}
with timeout of 360 seconds
tell application "System Events"
activate
display dialog input buttons {"OK"} default button 1 with title "Cryptographic Hashes" giving up after 300 --seconds
end tell
end timeout
end run