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

Software: Apache. PHP/8.1.30 

uname -a: Linux server1.tuhinhossain.com 5.15.0-151-generic #161-Ubuntu SMP Tue Jul 22 14:25:40 UTC
2025 x86_64
 

uid=1002(picotech) gid=1003(picotech) groups=1003(picotech),0(root)  

Safe-mode: OFF (not secure)

/home/picotech/public_html/phpmyadmin/vendor/paragonie/sodium_compat/src/Core/   drwxr-xr-x
Free 28.43 GB of 117.98 GB (24.1%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


Viewing file:     Salsa20.php (8.04 KB)      -rwxr-x---
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php

if (class_exists('ParagonIE_Sodium_Core_Salsa20'false)) {
    return;
}

/**
 * Class ParagonIE_Sodium_Core_Salsa20
 */
abstract class ParagonIE_Sodium_Core_Salsa20 extends ParagonIE_Sodium_Core_Util
{
    const 
ROUNDS 20;

    
/**
     * Calculate an salsa20 hash of a single block
     *
     * @internal You should not use this directly from another application
     *
     * @param string $in
     * @param string $k
     * @param string|null $c
     * @return string
     * @throws TypeError
     */
    
public static function core_salsa20($in$k$c null)
    {
        if (
self::strlen($k) < 32) {
            throw new 
RangeException('Key must be 32 bytes long');
        }
        if (
$c === null) {
            
$j0  $x0  0x61707865;
            
$j5  $x5  0x3320646e;
            
$j10 $x10 0x79622d32;
            
$j15 $x15 0x6b206574;
        } else {
            
$j0  $x0  self::load_4(self::substr($c04));
            
$j5  $x5  self::load_4(self::substr($c44));
            
$j10 $x10 self::load_4(self::substr($c84));
            
$j15 $x15 self::load_4(self::substr($c124));
        }
        
$j1  $x1  self::load_4(self::substr($k04));
        
$j2  $x2  self::load_4(self::substr($k44));
        
$j3  $x3  self::load_4(self::substr($k84));
        
$j4  $x4  self::load_4(self::substr($k124));
        
$j6  $x6  self::load_4(self::substr($in04));
        
$j7  $x7  self::load_4(self::substr($in44));
        
$j8  $x8  self::load_4(self::substr($in84));
        
$j9  $x9  self::load_4(self::substr($in124));
        
$j11 $x11 self::load_4(self::substr($k164));
        
$j12 $x12 self::load_4(self::substr($k204));
        
$j13 $x13 self::load_4(self::substr($k244));
        
$j14 $x14 self::load_4(self::substr($k284));

        for (
$i self::ROUNDS$i 0$i -= 2) {
            
$x4 ^= self::rotate($x0 $x127);
            
$x8 ^= self::rotate($x4 $x09);
            
$x12 ^= self::rotate($x8 $x413);
            
$x0 ^= self::rotate($x12 $x818);

            
$x9 ^= self::rotate($x5 $x17);
            
$x13 ^= self::rotate($x9 $x59);
            
$x1 ^= self::rotate($x13 $x913);
            
$x5 ^= self::rotate($x1 $x1318);

            
$x14 ^= self::rotate($x10 $x67);
            
$x2 ^= self::rotate($x14 $x109);
            
$x6 ^= self::rotate($x2 $x1413);
            
$x10 ^= self::rotate($x6 $x218);

            
$x3 ^= self::rotate($x15 $x117);
            
$x7 ^= self::rotate($x3 $x159);
            
$x11 ^= self::rotate($x7 $x313);
            
$x15 ^= self::rotate($x11 $x718);

            
$x1 ^= self::rotate($x0 $x37);
            
$x2 ^= self::rotate($x1 $x09);
            
$x3 ^= self::rotate($x2 $x113);
            
$x0 ^= self::rotate($x3 $x218);

            
$x6 ^= self::rotate($x5 $x47);
            
$x7 ^= self::rotate($x6 $x59);
            
$x4 ^= self::rotate($x7 $x613);
            
$x5 ^= self::rotate($x4 $x718);

            
$x11 ^= self::rotate($x10 $x97);
            
$x8 ^= self::rotate($x11 $x109);
            
$x9 ^= self::rotate($x8 $x1113);
            
$x10 ^= self::rotate($x9 $x818);

            
$x12 ^= self::rotate($x15 $x147);
            
$x13 ^= self::rotate($x12 $x159);
            
$x14 ^= self::rotate($x13 $x1213);
            
$x15 ^= self::rotate($x14 $x1318);
        }

        
$x0  += $j0;
        
$x1  += $j1;
        
$x2  += $j2;
        
$x3  += $j3;
        
$x4  += $j4;
        
$x5  += $j5;
        
$x6  += $j6;
        
$x7  += $j7;
        
$x8  += $j8;
        
$x9  += $j9;
        
$x10 += $j10;
        
$x11 += $j11;
        
$x12 += $j12;
        
$x13 += $j13;
        
$x14 += $j14;
        
$x15 += $j15;

        return 
self::store32_le($x0) .
            
self::store32_le($x1) .
            
self::store32_le($x2) .
            
self::store32_le($x3) .
            
self::store32_le($x4) .
            
self::store32_le($x5) .
            
self::store32_le($x6) .
            
self::store32_le($x7) .
            
self::store32_le($x8) .
            
self::store32_le($x9) .
            
self::store32_le($x10) .
            
self::store32_le($x11) .
            
self::store32_le($x12) .
            
self::store32_le($x13) .
            
self::store32_le($x14) .
            
self::store32_le($x15);
    }

    
/**
     * @internal You should not use this directly from another application
     *
     * @param int $len
     * @param string $nonce
     * @param string $key
     * @return string
     * @throws SodiumException
     * @throws TypeError
     */
    
public static function salsa20($len$nonce$key)
    {
        if (
self::strlen($key) !== 32) {
            throw new 
RangeException('Key must be 32 bytes long');
        }
        
$kcopy '' $key;
        
$in self::substr($nonce08) . str_repeat("\0"8);
        
$c '';
        while (
$len >= 64) {
            
$c .= self::core_salsa20($in$kcopynull);
            
$u 1;
            
// Internal counter.
            
for ($i 8$i 16; ++$i) {
                
$u += self::chrToInt($in[$i]);
                
$in[$i] = self::intToChr($u 0xff);
                
$u >>= 8;
            }
            
$len -= 64;
        }
        if (
$len 0) {
            
$c .= self::substr(
                
self::core_salsa20($in$kcopynull),
                
0,
                
$len
            
);
        }
        try {
            
ParagonIE_Sodium_Compat::memzero($kcopy);
        } catch (
SodiumException $ex) {
            
$kcopy null;
        }
        return 
$c;
    }

    
/**
     * @internal You should not use this directly from another application
     *
     * @param string $m
     * @param string $n
     * @param int $ic
     * @param string $k
     * @return string
     * @throws SodiumException
     * @throws TypeError
     */
    
public static function salsa20_xor_ic($m$n$ic$k)
    {
        
$mlen self::strlen($m);
        if (
$mlen 1) {
            return 
'';
        }
        
$kcopy self::substr($k032);
        
$in self::substr($n08);
        
// Initialize the counter
        
$in .= ParagonIE_Sodium_Core_Util::store64_le($ic);

        
$c '';
        while (
$mlen >= 64) {
            
$block self::core_salsa20($in$kcopynull);
            
$c .= self::xorStrings(
                
self::substr($m064),
                
self::substr($block064)
            );
            
$u 1;
            for (
$i 8$i 16; ++$i) {
                
$u += self::chrToInt($in[$i]);
                
$in[$i] = self::intToChr($u 0xff);
                
$u >>= 8;
            }

            
$mlen -= 64;
            
$m self::substr($m64);
        }

        if (
$mlen) {
            
$block self::core_salsa20($in$kcopynull);
            
$c .= self::xorStrings(
                
self::substr($m0$mlen),
                
self::substr($block0$mlen)
            );
        }
        try {
            
ParagonIE_Sodium_Compat::memzero($block);
            
ParagonIE_Sodium_Compat::memzero($kcopy);
        } catch (
SodiumException $ex) {
            
$block null;
            
$kcopy null;
        }

        return 
$c;
    }

    
/**
     * @internal You should not use this directly from another application
     *
     * @param string $message
     * @param string $nonce
     * @param string $key
     * @return string
     * @throws SodiumException
     * @throws TypeError
     */
    
public static function salsa20_xor($message$nonce$key)
    {
        return 
self::xorStrings(
            
$message,
            
self::salsa20(
                
self::strlen($message),
                
$nonce,
                
$key
            
)
        );
    }

    
/**
     * @internal You should not use this directly from another application
     *
     * @param int $u
     * @param int $c
     * @return int
     */
    
public static function rotate($u$c)
    {
        
$u &= 0xffffffff;
        
$c %= 32;
        return (int) (
0xffffffff & (
                (
$u << $c)
                    |
                (
$u >> (32 $c))
            )
        );
    }
}

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ ok ]

:: Make Dir ::
 
[ ok ]
:: Make File ::
 
[ ok ]

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

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