xyzzyでmake-password
パスワードの単なるランダム選択での自動生成用のスクリプト(あとで見たらTclスクリプトだった…)を置いているサーバが動作していなかったので、手元のWindowsで動かしていたXyzzyのlispスクリプトですぐにできるだろうと思っていたら、リスト操作も忘れ、関数定義も忘れで思いのほか手こずってしまった…。
(defun make-password (&optional (n 7)) (let (res (base "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_")) (dotimes (i n) (setq res (append res (list (char base (random (length base))))))) (coerce res 'string)))
もっといい組み方もあるんでしょうけど。
使用例
(make-password 7) "PMu7xrX"
リンク
- M.Hiroi’s Home Page / xyzzy Lisp Programming
- 3.関数定義の書き方
- siteinit.l と.xyzzyの設定例 | しょぼしょぼすくりぷと xyzzy
- xyzzy-Lispで僕色に染まったエディタを作ろうぜ
- lispの制御構文 しょぼしょぼすくりぷと xyzzy
- xyzzy の音