セキュリティ/phpストレッチング例
提供: 初心者エンジニアの簡易メモ
<?php define('FIXEDSALT', 'bc578d1503b4602a590d8f8ce4a8e634a55bec0d'); define('STRETCHCOUNT', 1000); // ソルト生成 function get_salt($id) { return $id . pack('H*', FIXEDSALT); } function get_password_hash($id, $pwd) { $salt = get_salt($id); $hash =' ; for ($i = 0; $i < STRETCHCOUNT; $i++) { $hash = hash('sha256', $hash . $pwd . $salt); // ストレッチング } return $hash; }
体系的に学ぶ安全なWebアプリケーションの作り方(P327
ウェブアプリでパスワード保護はどこまでやればいいか.ppt(P43)徳丸氏 http://www.slideshare.net/ockeghem/how-to-guard-your-password