!C99Shell v. 2.5 [PHP 8 Update] [24.05.2025]!

Software: Apache/2.4.41 (Ubuntu). PHP/8.0.30 

uname -a: Linux apirnd 5.4.0-204-generic #224-Ubuntu SMP Thu Dec 5 13:38:28 UTC 2024 x86_64 

uid=33(www-data) gid=33(www-data) groups=33(www-data) 

Safe-mode: OFF (not secure)

/uploads/script/vendor/paragonie/constant_time_encoding/tests/   drwxr-xr-x
Free 13.06 GB of 57.97 GB (22.53%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


Viewing file:     EncodingTest.php (9.13 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
use \ParagonIE\ConstantTime\Base32;
use 
\ParagonIE\ConstantTime\Base32Hex;
use 
\ParagonIE\ConstantTime\Base64;
use 
\ParagonIE\ConstantTime\Base64DotSlash;
use 
\ParagonIE\ConstantTime\Base64DotSlashOrdered;
use 
\ParagonIE\ConstantTime\Base64UrlSafe;
use 
\ParagonIE\ConstantTime\Encoding;
use 
\ParagonIE\ConstantTime\Hex;

class 
EncodingTest extends PHPUnit\Framework\TestCase
{
    public function 
testBase32Encode()
    {
        
$this->assertSame(
            
Encoding::base32Encode("\x00"),
            
'aa======'
        
);
        
$this->assertSame(
            
Encoding::base32Encode("\x00\x00"),
            
'aaaa===='
        
);
        
$this->assertSame(
            
Encoding::base32Encode("\x00\x00\x00"),
            
'aaaaa==='
        
);
        
$this->assertSame(
            
Encoding::base32Encode("\x00\x00\x00\x00"),
            
'aaaaaaa='
        
);
        
$this->assertSame(
            
Encoding::base32Encode("\x00\x00\x00\x00\x00"),
            
'aaaaaaaa'
        
);
        
$this->assertSame(
            
Encoding::base32Encode("\x00\x00\x0F\xFF\xFF"),
            
'aaaa7777'
        
);
        
$this->assertSame(
            
Encoding::base32Encode("\xFF\xFF\xF0\x00\x00"),
            
'7777aaaa'
        
);

        
$this->assertSame(
            
Encoding::base32Encode("\xce\x73\x9c\xe7\x39"),
            
'zzzzzzzz'
        
);
        
$this->assertSame(
            
Encoding::base32Encode("\xd6\xb5\xad\x6b\x5a"),
            
'22222222'
        
);
        
$this->assertSame(
            
Base32::encodeUpper("\x00"),
            
'AA======'
        
);
        
$this->assertSame(
            
Base32::encodeUpper("\x00\x00"),
            
'AAAA===='
        
);
        
$this->assertSame(
            
Base32::encodeUpper("\x00\x00\x00"),
            
'AAAAA==='
        
);
        
$this->assertSame(
            
Base32::encodeUpper("\x00\x00\x00\x00"),
            
'AAAAAAA='
        
);
        
$this->assertSame(
            
Base32::encodeUpper("\x00\x00\x00\x00\x00"),
            
'AAAAAAAA'
        
);
        
$this->assertSame(
            
Base32::encodeUpper("\x00\x00\x0F\xFF\xFF"),
            
'AAAA7777'
        
);
        
$this->assertSame(
            
Base32::encodeUpper("\xFF\xFF\xF0\x00\x00"),
            
'7777AAAA'
        
);

        
$this->assertSame(
            
Base32::encodeUpper("\xce\x73\x9c\xe7\x39"),
            
'ZZZZZZZZ'
        
);
        
$this->assertSame(
            
Base32::encodeUpper("\xd6\xb5\xad\x6b\x5a"),
            
'22222222'
        
);
    }

    public function 
testBase32Hex()
    {
        
$this->assertSame(
            
Base32Hex::encode("\x00"),
            
'00======'
        
);
        
$this->assertSame(
            
Base32Hex::encode("\x00\x00"),
            
'0000===='
        
);
        
$this->assertSame(
            
Base32Hex::encode("\x00\x00\x00"),
            
'00000==='
        
);
        
$this->assertSame(
            
Base32Hex::encode("\x00\x00\x00\x00"),
            
'0000000='
        
);
        
$this->assertSame(
            
Base32Hex::encode("\x00\x00\x00\x00\x00"),
            
'00000000'
        
);
        
$this->assertSame(
            
Base32Hex::encode("\x00\x00\x0F\xFF\xFF"),
            
'0000vvvv'
        
);
        
$this->assertSame(
            
Base32Hex::encode("\xFF\xFF\xF0\x00\x00"),
            
'vvvv0000'
        
);


    }

    
/**
     * Based on test vectors from RFC 4648
     */
    
public function testBase32Decode()
    {
        
$this->assertSame(
            
"\x00\x00\x00\x00\x00\x00",
            
Encoding::base32Decode('aaaaaaaaaa======')
        );
        
$this->assertSame(
            
"\x00\x00\x00\x00\x00\x00\x00",
            
Encoding::base32Decode('aaaaaaaaaaaa====')
        );
        
$this->assertSame(
            
"\x00\x00\x00\x00\x00\x00\x00\x00",
            
Encoding::base32Decode('aaaaaaaaaaaaa===')
        );
        
$this->assertSame(
            
"\x00\x00\x00\x00\x00\x00\x00\x00\x00",
            
Encoding::base32Decode('aaaaaaaaaaaaaaa=')
        );
        
$this->assertSame(
            
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00",
            
Encoding::base32Decode('aaaaaaaaaaaaaaaa')
        );
        
$this->assertSame(
            
"\x00",
            
Encoding::base32Decode('aa======')
        );
        
$this->assertSame(
            
"\x00\x00",
            
Encoding::base32Decode('aaaa====')
        );
        
$this->assertSame(
            
"\x00\x00\x00",
            
Encoding::base32Decode('aaaaa===')
        );
        
$this->assertSame(
            
"\x00\x00\x00\x00",
            
Encoding::base32Decode('aaaaaaa=')
        );
        
$this->assertSame(
            
"\x00\x00\x00\x00\x00",
            
Encoding::base32Decode('aaaaaaaa')
        );
        
$this->assertSame(
            
"\x00\x00\x0F\xFF\xFF",
            
Encoding::base32Decode('aaaa7777')
        );
        
$this->assertSame(
            
"\xFF\xFF\xF0\x00\x00",
            
Encoding::base32Decode('7777aaaa')
        );
        
$this->assertSame(
            
"\xce\x73\x9c\xe7\x39",
            
Encoding::base32Decode('zzzzzzzz')
        );
        
$this->assertSame(
            
"\xd6\xb5\xad\x6b\x5a",
            
Encoding::base32Decode('22222222')
        );
        
$this->assertSame(
            
'foobar',
            
Encoding::base32Decode('mzxw6ytboi======')
        );

        
$rand random_bytes(9);
        
$enc Encoding::base32Encode($rand);

        
$this->assertSame(
            
Encoding::base32Encode($rand),
            
Encoding::base32Encode(Encoding::base32Decode($enc))
        );
        
$this->assertSame(
            
$rand,
            
Encoding::base32Decode($enc)
        );
    }

    
/**
     * @covers Encoding::hexDecode()
     * @covers Encoding::hexEncode()
     * @covers Encoding::base32Decode()
     * @covers Encoding::base32Encode()
     * @covers Encoding::base64Decode()
     * @covers Encoding::base64Encode()
     * @covers Encoding::base64DotSlashDecode()
     * @covers Encoding::base64DotSlashEncode()
     * @covers Encoding::base64DotSlashOrderedDecode()
     * @covers Encoding::base64DotSlashOrderedEncode()
     */
    
public function testBasicEncoding()
    {
        
// Re-run the test at least 3 times for each length
        
for ($j 0$j 3; ++$j) {
            for (
$i 1$i 84; ++$i) {
                
$rand random_bytes($i);
                
$enc Encoding::hexEncode($rand);
                
$this->assertSame(
                    
\bin2hex($rand),
                    
$enc,
                    
"Hex Encoding - Length: " $i
                
);
                
$this->assertSame(
                    
$rand,
                    
Encoding::hexDecode($enc),
                    
"Hex Encoding - Length: " $i
                
);

                
// Uppercase variant:
                
$enc Hex::encodeUpper($rand);
                
$this->assertSame(
                    
\strtoupper(\bin2hex($rand)),
                    
$enc,
                    
"Hex Encoding - Length: " $i
                
);
                
$this->assertSame(
                    
$rand,
                    
Hex::decode($enc),
                    
"HexUpper Encoding - Length: " $i
                
);

                
$enc Encoding::base32Encode($rand);
                
$this->assertSame(
                    
$rand,
                    
Encoding::base32Decode($enc),
                    
"Base32 Encoding - Length: " $i
                
);

                
$enc Encoding::base32EncodeUpper($rand);
                
$this->assertSame(
                    
$rand,
                    
Encoding::base32DecodeUpper($enc),
                    
"Base32Upper Encoding - Length: " $i
                
);

                
$enc Encoding::base32HexEncode($rand);
                
$this->assertSame(
                    
bin2hex($rand),
                    
bin2hex(Encoding::base32HexDecode($enc)),
                    
"Base32Hex Encoding - Length: " $i
                
);

                
$enc Encoding::base32HexEncodeUpper($rand);
                
$this->assertSame(
                    
bin2hex($rand),
                    
bin2hex(Encoding::base32HexDecodeUpper($enc)),
                    
"Base32HexUpper Encoding - Length: " $i
                
);

                
$enc Encoding::base64Encode($rand);
                
$this->assertSame(
                    
$rand,
                    
Encoding::base64Decode($enc),
                    
"Base64 Encoding - Length: " $i
                
);

                
$enc Encoding::base64EncodeDotSlash($rand);
                
$this->assertSame(
                    
$rand,
                    
Encoding::base64DecodeDotSlash($enc),
                    
"Base64 DotSlash Encoding - Length: " $i
                
);
                
$enc Encoding::base64EncodeDotSlashOrdered($rand);
                
$this->assertSame(
                    
$rand,
                    
Encoding::base64DecodeDotSlashOrdered($enc),
                    
"Base64 Ordered DotSlash Encoding - Length: " $i
                
);

                
$enc Base64UrlSafe::encode($rand);
                
$this->assertSame(
                    
\strtr(\base64_encode($rand), '+/''-_'),
                    
$enc
                
);
                
$this->assertSame(
                    
$rand,
                    
Base64UrlSafe::decode($enc)
                );
            }
        }
    }
}

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 2.5 [PHP 8 Update] [24.05.2025] | Generation time: 0.006 ]--