#!/bin/sh
# $Id: sslsum,v 1.2 2010/10/19 22:12:32 friedman Exp $

openssl=${OPENSSL-openssl}

algos='
  dss1

  md2
  md4
  md5		ssl2-md5 ssl3-md5
  mdc2

  ripemd160	ripemd rmd160

  sha
  sha1		ssl3-sha1
  sha224
  sha256
  sha384
  sha512
'

case $0 in
  *sum ) alg=${ALG-`echo "$0" | sed -e 's=.*/==' -e 's/sum$//'`} ;;
esac

case $alg in
  ssl ) alg=md5 ;;
esac

case $1 in
  -* ) alg=`echo "$1" | sed -e 's=^-=='`
       case " `echo $algos` " in
         *" "$alg" "* ) shift ;;
       esac ;;
esac

case $# in
  0 ) exec $openssl dgst -$alg ;;
  * ) for arg in ${1+"$@"} ; do
        test -d "$arg" && continue
        dgst=`$openssl dgst -$alg < "$arg"`
        echo "$dgst  $arg"
      done ;;
esac | sed -e 's/^[^=]*= //'

# eof
