検索

キーワード


目次

【PHP】パスワードのハッシュ化について(password_hash)

  • 公開日:2020-09-25 09:20:14
  • 最終更新日:2021-02-05 18:07:52

Workteria(ワークテリア)では難易度の高いものから低いものまで、スキルや経験に合わせた案件を多数揃えています。会員登録は無料ですので、ぜひ会員登録してご希望の案件を探してみてください!

フリーランス/正社員のエンジニアとして活躍するには、ご自身のスキルや経験に合わせた仕事を選ぶことが大切です。ご希望の案件がみつからない場合はお気軽にお問い合わせください!ユーザ満足度の高いキャリアコンサルタントが在籍していますので、希望条件や悩み事などなんでもご相談ください。ご希望にピッタリの案件をご紹介させていただきます。

暗号化

ログインIDとパスワードを入力して送信するログインフォームでは、次の画面に遷移する際には平文(入力された値そのまま)ではなく、暗号化(ハッシュ化)した文字列を送信するのが一般的です。

PHPには暗号化するための関数がいくつか存在し、md5()やsha1()、crypt()などを使って暗号化することができます。

しかし、現在では先に挙げた関数では暗号化した文字列を解読される可能性が高く、PHPの公式ドキュメントによるとpassword_hash関数を利用することを強く勧めています。この関数は、暗号化する際により長い文字列に、より複雑に暗号化してくれます。


password_hash

password_hash(ハッシュ化する文字列, ハッシュアルゴリズム)

password_hashではハッシュアルゴリズムを指定することができます。

  • PASSWORD_DEFAULT
  • PASSWORD_BCRYPT
  • PASSWORD_ARGON2I
  • PASSWORD_ARGON2ID

公式ドキュメントではPASSWORD_DEFAULTを推奨しているので、特に理由がなければこちらを使いましょう。

echo password_hash("rasmuslerdorf", PASSWORD_DEFAULT);
$2y$12$QjSH496pcT5CEbzjD/vtVeH03tfHKFy36d4J0Ltp3lRtee9HDxY3K

今回はこのようなハッシュ値が出力されましたが、password_hash関数は出力のたびにハッシュ値を出力してくれるため、解読されにくいというメリットがあります。


まとめ

password_hash関数についてまとめてみました。

暗号化は現代の情報社会では必須ですので、しっかり暗号化した情報を送信するように心がけましょう!


【著者】

當山

主にPHPでのフレームワーク開発やWebアプリの開発に携わってきました。 得意分野はHTML5とCSSによるフロントエンド開発。

編集した記事一覧

正社員/フリーランスの方でこのようなお悩みありませんか?

  • 自分に合う案件を定期的に紹介してもらいたい
  • 週2、リモートワークなど自由な働き方をしてみたい
  • 面倒な案件探し・契約周りは任せて仕事に集中したい

そのような方はぜひ、Workteriaサイトをご利用ください!

  • 定期的にご本人に合う高額案件を紹介

  • リモートワークなど自由な働き方ができる案件多数

  • 専属エージェントが契約や請求をトータルサポート

よく読まれている記事