HexTest.php 983 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. <?php
  2. use \ParagonIE\ConstantTime\Hex;
  3. class HexTest extends PHPUnit\Framework\TestCase
  4. {
  5. /**
  6. * @covers Hex::encode()
  7. * @covers Hex::decode()
  8. * @covers Hex::encodeUpper()
  9. */
  10. public function testRandom()
  11. {
  12. for ($i = 1; $i < 32; ++$i) {
  13. for ($j = 0; $j < 50; ++$j) {
  14. $random = \random_bytes($i);
  15. $enc = Hex::encode($random);
  16. $this->assertSame(
  17. $random,
  18. Hex::decode($enc)
  19. );
  20. $this->assertSame(
  21. \bin2hex($random),
  22. $enc
  23. );
  24. $enc = Hex::encodeUpper($random);
  25. $this->assertSame(
  26. $random,
  27. Hex::decode($enc)
  28. );
  29. $this->assertSame(
  30. \strtoupper(\bin2hex($random)),
  31. $enc
  32. );
  33. }
  34. }
  35. }
  36. }