symfony2の暗号化
symfony2の暗号化の仕組みを学んで、普通のプロジェクトでも使えるかと思います。
流れ
1、まずpasswordとsaltをmergeする。(merge後の文字列は、password.”{“.salt.”}” になる)
2、merge後の文字列を指定アルゴリズム(md5、sha512など)で暗号化(phpのhash関数を使う、復号が不可能)
3、指定回数(iterations)で重複して暗号化する。
4、base64_encodeかbin2hexを使ってDBに保存
設定ファイル
symfony2のデフォルトのセキュリティ設定ファイルはapp/config/security.ymlです。
1 2 3 4 5 6 | security: encoders: namespace/to/userclass: algorithm: sha512 // 暗号化を使うアルゴリズム iterations: 10 // 暗号化をやり続ける回数 encode_as_base64: true // encodeでbase64を使うか。falseならbin2hexを使う |
Author Profile
スターフィールド編集部
SHARE