Guest User

Untitled

a guest
Sep 9th, 2018
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. (defn enc [inputtext keytext]
  2.   (loop [cryptoblock {}
  3.          inputblock (.getBytes inputtext)
  4.          keyval (reverse (.getBytes keytext))]
  5.     (if (and inputblock)
  6.       (recur (cons (bit-xor (first inputblock) (first keyval)) cryptoblock)
  7.                    (next inputblock)
  8.              (if (and (next keyval))
  9.                 (next keyval)
  10.                (reverse (.getBytes keytext))))
  11.              cryptoblock)))
  12.  
  13. (defn denc [cryptseq keytext]
  14.   (loop [decrypt ""
  15.          cryptseq (reverse cryptseq)
  16.          keyval (reverse (.getBytes keytext))]
  17.     (if (and cryptseq)
  18.       (recur (format "%s%s" decrypt (char (bit-xor (first cryptseq) (first keyval))))
  19.              (next cryptseq)
  20.              (if (and (next keyval))
  21.                (next keyval)
  22.                (reverse (.getBytes keytext))))
  23.       decrypt)))
  24.  
  25. (def abcd (enc "test" "abcd"))
  26.  
  27. (denc abcd "abcd")
Add Comment
Please, Sign In to add comment