public static function ihmac($data, $key, $iter, $algo = 'sha256') { $iter = abs($iter); for ($i = 0; $i <= $iter; $i++) { $data = \hash_hmac($algo, $data . $i . $iter, $key, true); } return $data; }
public function testIhmacSanity() { // Make sure at least one hash always happens with any kind of crazy cost value $this->assertNotEquals('aaaa', Hash::ihmac('aaaa', 'bbbb', 0)); $this->assertNotEquals('aaaa', Hash::ihmac('aaaa', 'bbbb', -1)); }