40 lines
983 B
PHP
40 lines
983 B
PHP
|
<?php
|
||
|
use \ParagonIE\ConstantTime\Hex;
|
||
|
|
||
|
class HexTest extends PHPUnit\Framework\TestCase
|
||
|
{
|
||
|
/**
|
||
|
* @covers Hex::encode()
|
||
|
* @covers Hex::decode()
|
||
|
* @covers Hex::encodeUpper()
|
||
|
*/
|
||
|
public function testRandom()
|
||
|
{
|
||
|
for ($i = 1; $i < 32; ++$i) {
|
||
|
for ($j = 0; $j < 50; ++$j) {
|
||
|
$random = \random_bytes($i);
|
||
|
|
||
|
$enc = Hex::encode($random);
|
||
|
$this->assertSame(
|
||
|
$random,
|
||
|
Hex::decode($enc)
|
||
|
);
|
||
|
$this->assertSame(
|
||
|
\bin2hex($random),
|
||
|
$enc
|
||
|
);
|
||
|
|
||
|
$enc = Hex::encodeUpper($random);
|
||
|
$this->assertSame(
|
||
|
$random,
|
||
|
Hex::decode($enc)
|
||
|
);
|
||
|
$this->assertSame(
|
||
|
\strtoupper(\bin2hex($random)),
|
||
|
$enc
|
||
|
);
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|