!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)

/var/www/html/dokan/script/vendor/phpseclib/phpseclib/phpseclib/Crypt/RSA/Formats/Keys/   drwxrwxrwx
Free 13.08 GB of 57.97 GB (22.57%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


Viewing file:     PKCS1.php (5.03 KB)      -rwxrwxrwx
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php

/**
 * PKCS#1 Formatted RSA Key Handler
 *
 * PHP version 5
 *
 * Used by File/X509.php
 *
 * Processes keys with the following headers:
 *
 * -----BEGIN RSA PRIVATE KEY-----
 * -----BEGIN RSA PUBLIC KEY-----
 *
 * Analogous to ssh-keygen's pem format (as specified by -m)
 *
 * @category  Crypt
 * @package   RSA
 * @author    Jim Wigginton <terrafrost@php.net>
 * @copyright 2015 Jim Wigginton
 * @license   http://www.opensource.org/licenses/mit-license.html  MIT License
 * @link      http://phpseclib.sourceforge.net
 */

namespace phpseclib3\Crypt\RSA\Formats\Keys;

use 
phpseclib3\Math\BigInteger;
use 
phpseclib3\Crypt\Common\Formats\Keys\PKCS1 as Progenitor;
use 
phpseclib3\File\ASN1;
use 
phpseclib3\File\ASN1\Maps;
use 
phpseclib3\Common\Functions\Strings;

/**
 * PKCS#1 Formatted RSA Key Handler
 *
 * @package RSA
 * @author  Jim Wigginton <terrafrost@php.net>
 * @access  public
 */
abstract class PKCS1 extends Progenitor
{
    
/**
     * Break a public or private key down into its constituent components
     *
     * @access public
     * @param string $key
     * @param string $password optional
     * @return array
     */
    
public static function load($key$password '')
    {
        if (!
Strings::is_stringable($key)) {
            throw new 
\UnexpectedValueException('Key should be a string - not a ' gettype($key));
        }

        if (
strpos($key'PUBLIC') !== false) {
            
$components = ['isPublicKey' => true];
        } elseif (
strpos($key'PRIVATE') !== false) {
            
$components = ['isPublicKey' => false];
        } else {
            
$components = [];
        }

        
$key parent::load($key$password);

        
$decoded ASN1::decodeBER($key);
        if (empty(
$decoded)) {
            throw new 
\RuntimeException('Unable to decode BER');
        }

        
$key ASN1::asn1map($decoded[0], Maps\RSAPrivateKey::MAP);
        if (
is_array($key)) {
            
$components+= [
                
'modulus' => $key['modulus'],
                
'publicExponent' => $key['publicExponent'],
                
'privateExponent' => $key['privateExponent'],
                
'primes' => [=> $key['prime1'], $key['prime2']],
                
'exponents' => [=> $key['exponent1'], $key['exponent2']],
                
'coefficients' => [=> $key['coefficient']]
            ];
            if (
$key['version'] == 'multi') {
                foreach (
$key['otherPrimeInfos'] as $primeInfo) {
                    
$components['primes'][] = $primeInfo['prime'];
                    
$components['exponents'][] = $primeInfo['exponent'];
                    
$components['coefficients'][] = $primeInfo['coefficient'];
                }
            }
            if (!isset(
$components['isPublicKey'])) {
                
$components['isPublicKey'] = false;
            }
            return 
$components;
        }

        
$key ASN1::asn1map($decoded[0], Maps\RSAPublicKey::MAP);

        if (!
is_array($key)) {
            throw new 
\RuntimeException('Unable to perform ASN1 mapping');
        }

        if (!isset(
$components['isPublicKey'])) {
            
$components['isPublicKey'] = true;
        }

        return 
$components $key;
    }

    
/**
     * Convert a private key to the appropriate format.
     *
     * @access public
     * @param \phpseclib3\Math\BigInteger $n
     * @param \phpseclib3\Math\BigInteger $e
     * @param \phpseclib3\Math\BigInteger $d
     * @param array $primes
     * @param array $exponents
     * @param array $coefficients
     * @param string $password optional
     * @param array $options optional
     * @return string
     */
    
public static function savePrivateKey(BigInteger $nBigInteger $eBigInteger $d, array $primes, array $exponents, array $coefficients$password '', array $options = [])
    {
        
$num_primes count($primes);
        
$key = [
            
'version' => $num_primes == 'two-prime' 'multi',
            
'modulus' => $n,
            
'publicExponent' => $e,
            
'privateExponent' => $d,
            
'prime1' => $primes[1],
            
'prime2' => $primes[2],
            
'exponent1' => $exponents[1],
            
'exponent2' => $exponents[2],
            
'coefficient' => $coefficients[2]
        ];
        for (
$i 3$i <= $num_primes$i++) {
            
$key['otherPrimeInfos'][] = [
                
'prime' => $primes[$i],
                
'exponent' => $exponents[$i],
                
'coefficient' => $coefficients[$i]
            ];
        }

        
$key ASN1::encodeDER($keyMaps\RSAPrivateKey::MAP);

        return 
self::wrapPrivateKey($key'RSA'$password$options);
    }

    
/**
     * Convert a public key to the appropriate format
     *
     * @access public
     * @param \phpseclib3\Math\BigInteger $n
     * @param \phpseclib3\Math\BigInteger $e
     * @return string
     */
    
public static function savePublicKey(BigInteger $nBigInteger $e)
    {
        
$key = [
            
'modulus' => $n,
            
'publicExponent' => $e
        
];

        
$key ASN1::encodeDER($keyMaps\RSAPublicKey::MAP);

        return 
self::wrapPublicKey($key'RSA');
    }
}

:: 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.0055 ]--