Quick actions

cmd+k|ctrl+k

Navigation

Languages

password gen

Snippet info

Language

Clojure

Visibility

public

Author

orochi-100

Created

2021-10-15T08:16:36.348949Z

Updated

2022-03-23T15:40:24.539664Z

(import java.security.SecureRandom)

(def REGULAR_PASSWORD_CHARS "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789")
(def PASSWORD_CHARS (str REGULAR_PASSWORD_CHARS "!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~ "))

(defn generate-pw [len]
    (if (< len 0) (throw (new IllegalArgumentException "len is < 0")))

    (def ran (new SecureRandom))
    ;(def len-seq (range len))
    ;(println len-seq))

    (def password (new StringBuilder))
    (dotimes [i len]
             (.append password (.charAt REGULAR_PASSWORD_CHARS (.nextInt ran (.length REGULAR_PASSWORD_CHARS)))))
         
    (.toString password)
)

(println (generate-pw 15))
INFO