Server : Apache/2.4.43 (Win64) OpenSSL/1.1.1g PHP/7.4.6 System : Windows NT USER-PC 6.1 build 7601 (Windows 7 Professional Edition Service Pack 1) AMD64 User : User ( 0) PHP Version : 7.4.6 Disable Function : NONE Directory : C:/xampp/phpMyAdmin/vendor/paragonie/constant_time_encoding/tests/ |
<?php use ParagonIE\ConstantTime\Base64UrlSafe; use ParagonIE\ConstantTime\Binary; /** * Class Base64UrlSafeTest */ class Base64UrlSafeTest extends PHPUnit\Framework\TestCase { /** * @covers Base64UrlSafe::encode() * @covers Base64UrlSafe::decode() * * @throws Exception * @throws TypeError */ public function testRandom() { for ($i = 1; $i < 32; ++$i) { for ($j = 0; $j < 50; ++$j) { $random = \random_bytes($i); $enc = Base64UrlSafe::encode($random); $this->assertSame( $random, Base64UrlSafe::decode($enc) ); $this->assertSame( \strtr(\base64_encode($random), '+/', '-_'), $enc ); $unpadded = \rtrim($enc, '='); $this->assertSame( $unpadded, Base64UrlSafe::encodeUnpadded($random) ); $this->assertSame( $random, Base64UrlSafe::decode($unpadded) ); } } $random = \random_bytes(1 << 20); $enc = Base64UrlSafe::encode($random); $this->assertTrue(Binary::safeStrlen($enc) > 65536); $this->assertSame( $random, Base64UrlSafe::decode($enc) ); $this->assertSame( \strtr(\base64_encode($random), '+/', '-_'), $enc ); } }