SYSTEM238 / PROG1 / PHP / 文字列のハッシュ値を生成する

NOTES1 PROG1
文字列のハッシュ値を生成する
md5やcryptのハッシュ値を生成するプログラム

概要

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

PHPスクリプト

<?php
$ver = explode('.', PHP_VERSION);
$passwordHashOK = ($ver[0]>=5 && $ver[1]>=5);
?>
<!DOCTYPE html>
<html lang="ja">

<head>

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

<body>

<h1>string 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" target="_blank">crypt</a>
    </td>
</tr>
<tr><td align="center" colspan="2"><input type="submit" value="hash"></td></tr>
</table>
</form>

<hr>

<?php if (isset($_POST['input'])): ?>

<table>
<tr>
    <td align="right">変換する文字列:</td>
    <td><?=$_POST['input']?></td>
</tr>
<tr>
    <td align="right">md5変換した文字列:</td>
    <td><?=md5($_POST['input'])?></td>
</tr>
<tr>
    <td align="right">crypt変換した文字列:</td
    ><td><?=crypt($_POST['input'], $_POST['salt'])?></td>
</tr>
<tr>
    <td align="right" valign="top">crypt info:</td>
    <td valign="top">
        salt                = <?=$_POST['salt']?><br>
        CRYPT_SALT_LENGTH   = <?=CRYPT_SALT_LENGTH?><br>
        CRYPT_STD_DES       = <?=CRYPT_STD_DES?><br>
        CRYPT_EXT_DES       = <?=CRYPT_EXT_DES?><br>
        CRYPT_MD5           = <?=CRYPT_MD5?><br>
        CRYPT_BLOWFISH      = <?=CRYPT_BLOWFISH?><br>
    </td>
</tr>
<tr>
    <td align="right" valign="top">password_hash変換した文字列:</td>
    <td valign="top">
        <?php if ($passwordHashOK): ?>
            <?=password_hash($_POST['input'], PASSWORD_BCRYPT)?>
        <?php else: ?>
            現在のPHPのバージョンは<?=PHP_VERSION?>です。password_hash()は5.5.0以降でないと使用できません。
        <?php endif; ?>
    </td>
</tr>
</table>

<?php endif; ?>

</html>

実行例

下記リンクをクリックしてください。新規Winで実行します。
http://www.sys238.jp/tools/hash.php