LoliPHP/helper/hash.php

32 行
796 B
PHP

<?php
require_once("../config.php");
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);
password_hash("kero", PASSWORD_ARGON2ID, ["cost" => $cost]);
$end = microtime(true);
} while (($end - $start) < $millisec);
$addpepper = hash_hmac("sha256", $password, PASSWD_PEPPER);
$addmd5 = md5($addpepper);
return password_hash($addmd5, PASSWORD_ARGON2ID, ["cost" => $cost]);
}
function verifypasswd (string $raw, string $crypt): bool {
$addpepper = hash_hmac("sha256", $raw, PASSWD_PEPPER);
$addmd5 = md5($addpepper);
return password_verify($addmd5, $crypt);
}
?>