PHPで文字列のハッシュ値を生成する

md5, crypt, password_hashのハッシュ値を生成するプログラム

1. 概要

入力した文字列からmd5、crypt、password_hashのハッシュ値を生成するプログラムです。

パスワードの暗号化には特に理由がない限りpassword_hashを使います。

2. スクリプト

<!DOCTYPE html>
<html lang="ja">

<head>
    <meta charset="UTF-8">
    <title>hash</title>
</head>

<body>

<h1>hash</h1>

<form method="post" name="form">
    <table>
    <tr>
        <td align="right">変換する文字列:</td>
        <td><input type="text" name="input"	value="<?=$_POST['input']?>" size="30"></td>
    </tr>
    <tr>
        <td align="right">crypt salt:</td>
        <td>
	        <input type="text" name="salt" value="<?=$_POST['salt']?>" size="30">
	        see...<a href="http://php.net/manual/ja/function.crypt.php">crypt</a>
        </td>
    </tr>
    <tr>
        <td align="center" colspan="2"><input type="submit" value="変換"></td>
    </tr>
    </table>
</form>

<hr>

<table>
<tr>
    <td align="right">変換する文字列:</td>
	<td valign="top"><?=$_POST['input']?></td>
</tr>
<tr>
    <td align="right">md5変換した文字列:</td>
    <td valign="top"><?=($_POST['input']=='')? '': md5($_POST['input'])?></td>
</tr>
<tr>
    <td align="right">
        crypt変換した文字列:<br>
        (salt = <?=$_POST['salt']?>) 
    </td>
    <td valign="top"><?=($_POST['input']=='')? '': crypt($_POST['input'], $_POST['salt'])?></td>
</tr>
<tr>
    <td align="right" valign="top">
	    password_hash変換した文字列:<br>
	    (PASSWORD_DEFAULT) 
    </td>
    <td valign="top"><?=($_POST['input']=='')? '': password_hash($_POST['input'], PASSWORD_DEFAULT)?></td>
</tr>
</table>

</html>
実行結果