CentOS7 php 5.4 で crypt を使う方法

LINEで送る
Pocket

CentOS 7 の php 5.4 で password_hash、password_hash、hash_equals などを使おうとすると、Call to undefined function hash_equals() などと怒られる。どうやら php 5.4 ではこれらの関数が実装されてないようです。よって代わりの案として crypt を使用する方法を紹介します。

<?php

	$USER_INPUT = "password";

	$hash_pass = crypt($USER_INPUT, '$6$' . uniqid());

	print $hash_pass . "\n";

	if (crypt($USER_INPUT, $hash_pass) === $hash_pass) {
		echo "Password verified!\n";
	}

?>
  • 何も付けない → CRYPT_STD_DES
  • $1$ → CRYPT_MD5
  • $2a$ → CRYPT_BLOWFISH
  • $5$ → CRYPT_SHA256
  • $6$ → CRYPT_SHA512

$6$の後ろは何でも良いのですが uniqid でユニークなIDを生成します。

詳しくはこちら

https://www.php.net/manual/ja/function.crypt.php

LINEで送る
Pocket

  • このエントリーをはてなブックマークに追加

コメントを残す

*

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください