LoliPHP/helper/hash.php

32 行
796 B
PHP
Raw パーマリンク 通常表示 履歴

2022-03-27 02:41:32 +09:00
<?php
2022-10-25 18:09:58 +09:00
require_once("../config.php");
2022-03-30 19:13:22 +09:00
function tokengen (int $bytes=24): string {
return bin2hex(random_bytes($bytes));
}
function setpasswd (string $password): string {
$millisec = 0.05;
$cost = 8;
do {
$cost++;
$start = microtime(true);
2022-10-25 18:09:58 +09:00
password_hash("kero", PASSWORD_ARGON2ID, ["cost" => $cost]);
2022-03-30 19:13:22 +09:00
$end = microtime(true);
} while (($end - $start) < $millisec);
2022-10-25 18:09:58 +09:00
$addpepper = hash_hmac("sha256", $password, PASSWD_PEPPER);
2022-03-30 19:13:22 +09:00
$addmd5 = md5($addpepper);
2022-10-25 18:09:58 +09:00
return password_hash($addmd5, PASSWORD_ARGON2ID, ["cost" => $cost]);
2022-03-30 19:13:22 +09:00
}
function verifypasswd (string $raw, string $crypt): bool {
2022-10-25 18:09:58 +09:00
$addpepper = hash_hmac("sha256", $raw, PASSWD_PEPPER);
2022-03-30 19:13:22 +09:00
$addmd5 = md5($addpepper);
return password_verify($addmd5, $crypt);
}
2022-03-27 02:41:32 +09:00
?>