- crypt: documentation ( source)
<?php
if (CRYPT_BLOWFISH == 1) {
echo 'Blowfish: ' .
crypt('ohgakiyasuo','$2y$12$usesomesillystringforsalt$') . "\n";
}
if (CRYPT_SHA256 == 1) {
echo 'SHA-256: ' .
crypt('ohgakiyasuo','$5$rounds=9000$usesomesillystringforsalt$') . "\n";
}
if (CRYPT_SHA512 == 1) {
echo 'SHA-512: ' .
crypt('ohgakiyasuo','$6$rounds=9000$usesomesillystringforsalt$') . "\n";
}
// 無効な文字や空文字を指定した場合。エラー文字列が返る
echo 'Blowfish: ' .
crypt('ohgakiyasuo', '$2a$07$!"#$%&\'()0=~!"#$%&\'()0!"$') . "\n";
echo 'Blowfish: ' . crypt('ohgakiyasuo', '$2a$07$') . "\n";
// roundsでなくroundと間違っている。"round=9000"がソルトとして扱われる。
echo 'SHA-512: ' .
crypt('ohgakiyasuo', '$6$round=9000$usesomesillystringforsalt$') . "\n";
// ソルト文字列に$が含まれていると、そこまでがソルトとなる
echo 'SHA-512: ' .
crypt('ohgakiyasuo', '$6$rounds=9000$usesome$sillystringforsalt$') . "\n";
// ソルト文字列なしでも利用可能(非推奨)
echo 'SHA-512: ' . crypt('ohgakiyasuo', '$6$'). "\n";