racket/collects/ffi/examples/crypt.ss
2005-05-27 18:56:37 +00:00

21 lines
494 B
Scheme
Executable File

#!/bin/sh
#|
exec mzscheme -r "$0" "$@"
|#
(require (lib "crypt.ss" "ffi"))
(define passwd "foo")
(define salt "xz")
(printf ">>> crypt(~s,~s) = ~s\n" passwd salt (crypt passwd salt))
;; md5-based version
(set! salt "$1$somesalt$")
(printf ">>> crypt(~s,~s) = ~s\n" passwd salt (crypt passwd salt))
(newline)
(define foo "foo bar")
(define key (string->bytes/utf-8 "my key"))
(printf ">>> ~s --encrypt--> ~s --decrypt--> ~s\n"
foo (encrypt foo key) (decrypt (encrypt foo key) key))