(defn fchash [arg]
(let [letters "acdegilmnoprstuw"]
(loop [h 7 s arg]
(if-let [c (first s)]
(recur (+ (* h 37) (.indexOf letters (int c))) (rest s))
h
)
)
)
)
(prn (fchash "leepadg"))
(defn fchash-inverse [arg]
(let [letters "acdegilmnoprstuw"]
(loop [h arg s ""]
(if (not= h 7)
(recur (/ (- h (mod h 37)) 37) (str (.charAt letters (mod h 37) ) s))
s
)
)
)
)
(prn (fchash-inverse (fchash "leepadg")))
(prn (fchash-inverse 910897038977002))
To embed this program on your website, copy the following code and paste it into your website's HTML: