Beta Shell
v2.0 ยท web2.us.cloudlogin.co
[FM]
[CMD]
[PHP]
[DB]
[INFO]
[SEC]
File Manager
~
/
usr
/
lib64
/
perl5
/
vendor_perl
/
Crypt
/
DH
/
GMP
Upload
3 items
Name
Size
Perms
Modified
Actions
[ .. / .. ]
Compat.pm
1.45 KB
-rw-r--r--
2014-03-22 05:49:14
Edit
Del
Editing: Compat.pm
(1.45 KB)
Path: /usr/lib64/perl5/vendor_perl/Crypt/DH/GMP/Compat.pm
Back
# $Id: /mirror/coderepos/lang/perl/Crypt-DH-GMP/trunk/lib/Crypt/DH/GMP/Compat.pm 50370 2008-04-15T05:54:58.881985Z daisuke $ package Crypt::DH::GMP::Compat; package # hide from PAUSE Crypt::DH; use strict; use warnings; no warnings 'redefine'; use vars qw(@ISA); # Add Crypt::DH::GMP as Crypt::DH's parent, and redefine all methods BEGIN { unshift @ISA, 'Crypt::DH::GMP'; *Crypt::DH::new = sub { shift->SUPER::new(@_) }; *Crypt::DH::g = sub { my $self = shift; if (@_) { $_[0] = ref $_[0] ? $_[0]->bstr : $_[0]; } return Math::BigInt->new( $self->SUPER::g(@_) ); }; *Crypt::DH::p = sub { my $self = shift; if (@_) { $_[0] = ref $_[0] ? $_[0]->bstr : $_[0]; } return Math::BigInt->new($self->SUPER::p(@_)) }; *Crypt::DH::pub_key = sub { Math::BigInt->new(shift->SUPER::pub_key(@_)) }; *Crypt::DH::priv_key = sub { Math::BigInt->new(shift->SUPER::priv_key(@_)) }; *Crypt::DH::generate_keys = \&Crypt::DH::GMP::generate_keys; *Crypt::DH::compute_key = \&Crypt::DH::GMP::compute_key; *Crypt::DH::compute_secret = \&Crypt::DH::compute_key; } 1; __END__ =head1 NAME Crypt::DH::GMP::Compat - Compatibility Mode For Crypt::DH =head1 SYNOPSIS use Crypt::DH; use Crypt::DH::GMP qw(-compat); =head1 DESCRIPTION Crypt::DH::GMP::Compat is a very invasive module that rewrites Crypt::DH's @ISA and method names so that it uses Crypt::DH::GMP =cut