sha1.ss
(module sha1 mzscheme
  (require (lib "foreign.ss"))
  (unsafe!)
  (provide SHA1)
    
  (define openssl-crypto
    (case (system-type)
      [(windows)
       (ffi-lib "libeay32")]
      [else
       (ffi-lib "libcrypto")]))
  
  (define SHA1
    (get-ffi-obj 'SHA1 openssl-crypto
                 (_fun [data : _bytes]
                       [length : _int = (bytes-length data)]
                       [md : _int = 0]
                       ->
                       _bytes))))