Name: Anonymous 2007-11-30 11:15
LISP
(def shash (str)
(let fname (+ "/tmp/shash" (rand-string 10))
(w/outfile f fname (disp str f))
(let res (tostring (system (+ "openssl dgst -sha1 <" fname)))
(do1 (subseq res 0 (- (len res) 1))
(rmfile fname)))))