散列 PHP。 SHA-256 是如何工作的?
Hashing in PHP. How does SHA-256 work?
我是 PHP 的新手,我正在查看一些处理散列的可证明性公平代码。我想知道在散列值时到底发生了什么。我知道它将它转换为 hexits,但它究竟是如何做到的。还有“-”到底在做什么?这是我正在查看的代码,可以让每个人都有一个更好的主意。提前致谢!
$server_seed = "39b7d32fcb743c244c569a56d6de4dc27577d6277d6cf155bdcba6d05befcb34";
$lotto = "0422262831";
$round_id = "1";
$hash = hash("sha256",$server_seed."-".$lotto."-".$round_id);
$roll = hexdec(substr($hash,0,8)) % 15;
echo "Round $round_id = $roll";
SHA-256 是一种 256 位(32 字节)的散列算法,可以为最多 264-1 位的输入计算散列码。它经过 64 轮散列。计算出的哈希码将是一个 64 位十六进制数。例如,rajeshpatel 的 SHA-256 哈希码是 5662895e0af2b7b9c23c753b44b3628299a009949000e6cfd60fd16c02c00433
PHP 具有 hash()
计算 SHA-256 哈希码的功能。
<?php
echo hash('sha256', 'www.MyTecBits.com');
?>
我是 PHP 的新手,我正在查看一些处理散列的可证明性公平代码。我想知道在散列值时到底发生了什么。我知道它将它转换为 hexits,但它究竟是如何做到的。还有“-”到底在做什么?这是我正在查看的代码,可以让每个人都有一个更好的主意。提前致谢!
$server_seed = "39b7d32fcb743c244c569a56d6de4dc27577d6277d6cf155bdcba6d05befcb34";
$lotto = "0422262831";
$round_id = "1";
$hash = hash("sha256",$server_seed."-".$lotto."-".$round_id);
$roll = hexdec(substr($hash,0,8)) % 15;
echo "Round $round_id = $roll";
SHA-256 是一种 256 位(32 字节)的散列算法,可以为最多 264-1 位的输入计算散列码。它经过 64 轮散列。计算出的哈希码将是一个 64 位十六进制数。例如,rajeshpatel 的 SHA-256 哈希码是 5662895e0af2b7b9c23c753b44b3628299a009949000e6cfd60fd16c02c00433
PHP 具有 hash()
计算 SHA-256 哈希码的功能。
<?php
echo hash('sha256', 'www.MyTecBits.com');
?>