GNKF: NKF ぽいなにか の v0.6.0 をリリースした
Go 言語における文字列処理の習作 gnkf の v0.6.0 をリリースした。
このバージョンで指定した文字列を BCrypt アルゴリズムで符号化する機能を追加した。
$ gnkf bcrypt -h
Hash and compare by BCrypt.
Usage:
gnkf bcrypt [flags] string [string...]
Aliases:
bcrypt, bc
Flags:
--compare string compare to BCrypt hashed string
-c, --cost int BCrypt cost (4-31) (default 10)
-h, --help help for bcrypt
Global Flags:
--debug for debug
こんな感じで使う。
$ gnkf bc password
$2a$10$ES0KxMf9p.t0FEMp8WB6we8X43rMzfXb9r5WvFeUSk8Q2z3wdjrCS
符号化した文字列を検証することもできる。
$ gnkf bc --compare '$2a$10$ES0KxMf9p.t0FEMp8WB6we8X43rMzfXb9r5WvFeUSk8Q2z3wdjrCS' foo bar password
compare BCrypt hashed string '$2a$10$ES0KxMf9p.t0FEMp8WB6we8X43rMzfXb9r5WvFeUSk8Q2z3wdjrCS' to...
foo : crypto/bcrypt: hashedPassword is not the hash of the given password
bar : crypto/bcrypt: hashedPassword is not the hash of the given password
password : match!
いやね。 最初は Java のパスワード処理を検証するミニツールを作ってたんだけど,符号化するところだけチェックすればいいのなら gnkf に組み込んじゃえばいいぢゃん,と思いついて「えいやっ」で組み込んでしまった。 反省はしない。
悪用しないように(笑)
ブックマーク
参考図書
- プログラミング言語Go (ADDISON-WESLEY PROFESSIONAL COMPUTING SERIES)
- Alan A.A. Donovan (著), Brian W. Kernighan (著), 柴田 芳樹 (翻訳)
- 丸善出版 2016-06-20
- 単行本(ソフトカバー)
- 4621300253 (ASIN), 9784621300251 (EAN), 4621300253 (ISBN), 9784621300251 (ISBN)
- 評価
著者のひとりは(あの「バイブル」とも呼ばれる)通称 “K&R” の K のほうである。この本は Go 言語の教科書と言ってもいいだろう。