A Caesar cipher encrypts a string by replacing each letter with the letter k later in the alphabet, wrapping around at the end.
(define (caesar str k) (let* ((n (string-length str)) (new (make-string n))) (dotimes (i n new) (string-set! new i (caesar-char (string-ref str i) k) ) ) ))(define (caesar-char char k) (if (char-alphabetic? char) (let ((base (if (char-upper-case? char) (char->integer #\A) (char->integer #\a)))) (integer->char (+ base (modulo (+ k (- (char->integer char) base)) 26))) ) char))
; decryption (define (decaesar str k) (caesar str (- 26 k)))
Contents    Page-10    Prev    Next    Page+10    Index