Files
jashton 3f844e4e06
Deploy CSIS 2440 / deploy (push) Canceled after 0s
finished final project
2025-05-05 21:53:39 -06:00

54 lines
1.1 KiB
PHP

<?php
function pretty_dump($arg)
{
ob_start();
echo '<pre>';
print_r($arg);
echo '</pre>';
return ob_get_clean();
}
function format_money($in)
{
$in = '$' . $in;
$parts = explode('.', $in);
if (count($parts) == 1)
$in .= '.00';
else {
if (strlen($parts[1]) == 1) {
$in .= '0';
}
}
return $in;
}
function random_string()
{
$characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
$rand_string = '';
for ($i = 0; $i < 512; $i++)
$rand_string = $characters[rand(0, strlen($characters) - 1)];
return $rand_string;
}
function verify_hash($arg, $hash_salt)
{
list($salt_hex, $hash) = explode('.', $hash_salt, 2);
$salt = hex2bin($salt_hex);
$calculated_hash = hash('sha512', $salt . $arg . $_ENV['SALT']);
return hash_equals($hash, $calculated_hash);
}
function hash_salt($arg = null)
{
if (!$arg)
$arg = random_string();
$salt1 = random_bytes(256);
$salt2 = $_ENV['SALT'];
return bin2hex($salt1) . '.' . hash('sha512', $salt1 . $arg . $salt2);
}