One Hat Cyber Team
Your IP :
172.16.0.254
Server IP :
58.26.163.33
Server :
Windows NT DGPENSV2LPKMN 10.0 build 14393 (Windows Server 2016) AMD64
Server Software :
Apache/2.4.46 (Win64) OpenSSL/1.1.1h PHP/7.3.25
PHP Version :
7.3.25
Buat File
|
Buat Folder
Eksekusi
Dir :
C:
/
xampp7
/
perl
/
vendor
/
lib
/
Crypt
/
OpenPGP
/
Edit File:
MDC.pm
package Crypt::OpenPGP::MDC; use strict; use Crypt::OpenPGP::Digest; use Crypt::OpenPGP::ErrorHandler; use base qw( Crypt::OpenPGP::ErrorHandler ); sub new { my $mdc = bless { }, shift; $mdc->init(@_); } sub init { my $mdc = shift; my %param = @_; if (my $data = $param{Data}) { my $dgst = Crypt::OpenPGP::Digest->new('SHA1'); $mdc->{body} = $dgst->hash($data); } $mdc; } sub digest { $_[0]->{body} } sub parse { my $class = shift; my($buf) = @_; my $mdc = $class->new; $mdc->{body} = $buf->get_bytes($buf->length - $buf->offset); $mdc; } sub save { $_[0]->{body} } 1; __END__ =head1 NAME Crypt::OpenPGP::MDC - MDC (modification detection code) packet =head1 SYNOPSIS use Crypt::OpenPGP::MDC; my $mdc = Crypt::OpenPGP::MDC->new( Data => 'foobar' ); my $digest = $mdc->digest; my $serialized = $mdc->save; =head1 DESCRIPTION I<Crypt::OpenPGP::MDC> is a PGP MDC (modification detection code) packet. Such a packet is used alongside Encrypted-MDC data packets so that modifications to the ciphertext can be detected. The MDC packet contains a C<SHA-1> digest of the plaintext for comparison with the decrypted plaintext. You generally will never need to construct a I<Crypt::OpenPGP::MDC> packet yourself; usage is by the I<Crypt::OpenPGP::Ciphertext> object. =head1 USAGE =head2 Crypt::OpenPGP::MDC->new( [ Data => $data ] ) Creates a new MDC packet object and returns that object. If you do not supply any data I<$data>, the object is created empty; this is used, for example, in I<parse> (below), to create an empty packet which is then filled from the data in the buffer. If you wish to initialize a non-empty object, supply I<new> with the I<Data> parameter along with a value I<$data>. I<$data> should contain the plaintext prefix (length = cipher blocksize + 2), the actual plaintext, and two octets corresponding to the hex digits C<0xd3> and C<0x14>. =head2 $mdc->save Returns the text of the MDC packet; this is the digest of the data passed to I<new> (above) as I<$data>, for example. =head2 Crypt::OpenPGP::MDC->parse($buffer) Given I<$buffer>, a I<Crypt::OpenPGP::Buffer> object holding (or with offset pointing to) an MDC packet, returns a new <Crypt::OpenPGP::MDC> object, initialized with the MDC data in the buffer. =head2 $mdc->digest Returns the MDC digest data (eg. the string passed as I<$data> to I<new>, above). =head1 AUTHOR & COPYRIGHTS Please see the Crypt::OpenPGP manpage for author, copyright, and license information. =cut
Simpan