#:g1: secret-valuesの紹介

Posted 2014-05-19 22:00:00 GMT

(LISP Library 365参加エントリ)

 LISP Library 365 の140日目です。

secret-valuesとはなにか

 secret-valuesは、Thomas Bakketun氏作のログやバックトレースに秘密の値が表示されてしまわないようにするためのユーティリティです。

パッケージ情報

パッケージ名secret-values
Quicklisp
Quickdocshttp://quickdocs.org/secret-values

インストール方法

(ql:quickload :secret-values)

試してみる

 どんな関数があるかは、Quickdocsで確認できます。

 使い方はシンプルで、conceal-valueで隠し、reveal-valueで晒します。

(defvar *password*
  (secret-values:conceal-value "my pw"))

*password* ;=> #<SECRET-VALUES:SECRET-VALUE {10169593F3}>

(secret-values:reveal-value *password*) ;=> "my pw"

が主なところですが、ensure-系の関数がsecret-value型オブジェクト確保して返すものではなく、secret-value型でなければ、そのまま返します。
通例だと、ensure-よりsafe-conceceal-valueや、conceal-value-safeになりそうなところかなと思いました。

まとめ

 今回は、secret-valuesを紹介してみました。
バックトレースでパスワードが丸見えということは割とありがちなので、そういう場合に使ってみると良いかもしれません。

comments powered by Disqus