Sha256: 87186564aa0e05fbaf746a247e7e4aa6e0b7fedd457a351d866ee652ff631ee2
Contents?: true
Size: 593 Bytes
Versions: 396
Compression:
Stored size: 593 Bytes
Contents
(ns atbash-cipher (:require [clojure.string :as str])) (def ^:private letters (map char (range (int \a) (inc (int \z))))) (def ^:private to-cipher (apply hash-map (interleave letters (reverse letters)))) (defn- sanitize [plaintext] (str/replace (str/lower-case plaintext) #"\W" "")) (defn- cipher [plain-char] (or (to-cipher plain-char) plain-char)) (defn- to-chunks [character-list] (map #(apply str %) (partition 5 5 "" character-list))) (defn encode [plaintext] (->> plaintext sanitize (map cipher) to-chunks (str/join " ")))
Version data entries
396 entries across 396 versions & 1 rubygems