「PHPの基礎 - ハッシュ」の版間の差分
(ページの作成:「== 概要 == <br><br> == パスワード == ==== パスワードのハッシュ化 ==== PHPには、パスワードのハッシュ化に特化した<code>password_hash</code>関数を使用することが推奨される。<br> <br> <code>password_hash</code>関数は、使用しているPHPのバージョンでデフォルトで使用されているアルゴリズムを自動的に選択して、<br> ソルト(ランダムな値)を自動的に生成するこ…」) |
細 (文字列「__FORCETOC__」を「{{#seo: |title={{PAGENAME}} : Exploring Electronics and SUSE Linux | MochiuWiki |keywords=MochiuWiki,Mochiu,Wiki,Mochiu Wiki,Electric Circuit,Electric,pcb,Mathematics,AVR,TI,STMicro,AVR,ATmega,MSP430,STM,Arduino,Xilinx,FPGA,Verilog,HDL,PinePhone,Pine Phone,Raspberry,Raspberry Pi,C,C++,C#,Qt,Qml,MFC,Shell,Bash,Zsh,Fish,SUSE,SLE,Suse Enterprise,Suse Linux,openSUSE,open SUSE,Leap,Linux,uCLnux,Podman,電気回路,電子回路,基板,プリント基板 |description={{PAGENAME}} - 電子回路とSUSE Linuxに関する情報 | This pag…) |
||
46行目: | 46行目: | ||
<br><br> | <br><br> | ||
{{#seo: | |||
|title={{PAGENAME}} : Exploring Electronics and SUSE Linux | MochiuWiki | |||
|keywords=MochiuWiki,Mochiu,Wiki,Mochiu Wiki,Electric Circuit,Electric,pcb,Mathematics,AVR,TI,STMicro,AVR,ATmega,MSP430,STM,Arduino,Xilinx,FPGA,Verilog,HDL,PinePhone,Pine Phone,Raspberry,Raspberry Pi,C,C++,C#,Qt,Qml,MFC,Shell,Bash,Zsh,Fish,SUSE,SLE,Suse Enterprise,Suse Linux,openSUSE,open SUSE,Leap,Linux,uCLnux,Podman,電気回路,電子回路,基板,プリント基板 | |||
|description={{PAGENAME}} - 電子回路とSUSE Linuxに関する情報 | This page is {{PAGENAME}} in our wiki about electronic circuits and SUSE Linux | |||
|image=/resources/assets/MochiuLogo_Single_Blue.png | |||
}} | |||
__FORCETOC__ | __FORCETOC__ | ||
[[カテゴリ:Web]] | [[カテゴリ:Web]] |
2024年11月5日 (火) 00:35時点における最新版
概要
パスワード
パスワードのハッシュ化
PHPには、パスワードのハッシュ化に特化したpassword_hash
関数を使用することが推奨される。
password_hash
関数は、使用しているPHPのバージョンでデフォルトで使用されているアルゴリズムを自動的に選択して、
ソルト(ランダムな値)を自動的に生成することにより、安全なハッシュを生成する。
デフォルトでは、PHPのバージョンに応じて、BCRYPTまたはARGON2アルゴリズムが使用される。
以下の例では、password_hash
関数を使用してパスワードをハッシュ化している。
$password = "your_password";
$hashed_password = password_hash($password, PASSWORD_DEFAULT);
password_hash
関数の第1引数にハッシュ化したいパスワード、第2引数にアルゴリズムを指定する。
PASSWORD_DEFAULT
は、現在のPHPのバージョンでデフォルトで使用されているアルゴリズムを指す。
ただし、特定の理由でSHA-512アルゴリズム等を使用する必要がある場合は、hash
関数を使用することができる。
以下の例では、hash
関数を使用して、SHA-512アルゴリズムでハッシュ化している。
$password = "your_password";
$hashed_password = hash("sha512", $password);
hash
関数の第1引数にアルゴリズムとして"sha512"を指定して、第2引数にハッシュ化したいパスワードを渡す。
hash
関数は、指定されたアルゴリズムを使用してパスワードをハッシュ化して、ハッシュ値を返す。
ただし、SHA-512アルゴリズムは、現在のセキュリティ基準では十分でない可能性があることに注意する。
セキュリティの観点から、password_hash
関数を使用してパスワードをハッシュ化することを推奨する。
パスワードの照合
ハッシュ化されたパスワードの照合は、password_verify
関数を使用する。
password_verify
関数は、入力したパスワードとハッシュ化されたパスワードを比較して、一致する場合はtrue
、一致しない場合はfalse
を返す。
if (password_verify($password, $hashed_password)) {
// パスワードが一致する場合の処理
}
else {
// パスワードが一致しない場合の処理
}