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
/
View File Name :
Buffer.pm
package Crypt::OpenPGP::Buffer; use base qw( Data::Buffer ); use Crypt::OpenPGP::Util qw( bin2mp mp2bin bitsize ); sub get_big_int { my $buf = shift; my $bits = $buf->get_int16; my $bytes = int(($bits + 7) / 8); my $off = $buf->{offset}; $buf->{offset} += $bytes; my $int = bin2mp($buf->bytes($off, $bytes)); return "$int"; } sub put_big_int { my $buf = shift; my($n) = @_; $buf->put_int16(bitsize($n)); $buf->put_bytes(mp2bin($n)); } *get_mp_int = \&get_big_int; *put_mp_int = \&put_big_int; 1; __END__ =head1 NAME Crypt::OpenPGP::Buffer - Binary in/out buffer =head1 SYNOPSIS use Crypt::OpenPGP::Buffer; my $n = Math::BigInt->new( 1 ); my $buf = Crypt::OpenPGP::Buffer->new; $buf->put_big_int($n); my $m = $buf->get_big_int; =head1 DESCRIPTION I<Crypt::OpenPGP::Buffer> subclasses the I<Data::Buffer> class to provide binary in/out buffer capabilities for I<Crypt::OpenPGP>. In addition to the standard I<Data::Buffer> methods, this class adds methods to get and put multiple-precision integers (I<Math::BigInt> objects). A PGP multiple precision integer is stored in two pieces: a two-octet scalar representing the length of the integer in bits, followed by a string of octets that is a serialized representation of the integer. =head1 USAGE As I<Crypt::OpenPGP::Buffer> subclasses I<Data::Buffer> there is no need to reproduce the entire documentation of the latter module. Thus this usage section will include only the methods added by I<Crypt::OpenPGP::Buffer>. =head2 $buf->get_big_int Grabs a multiple-precision integer from the buffer I<$buf> (starting after the current offset position in the buffer) and returns that integer. I<get_mp_int()> is an alias for this method, for backwards compatibility reasons. =head2 $buf->put_big_int($n) Serializes a multiple-precision integer into the buffer in the above form (two-octet bitsize, string of octets). I<put_mp_int()> is an alias for this method, for backwards compatibility reasons. =head1 AUTHOR & COPYRIGHTS Please see the Crypt::OpenPGP manpage for author, copyright, and license information. =cut