Crypt::OpenSSL::Bignum
任意長の整数を扱うOpenSSLラッパーモジュール。暗号演算によく使われる演算メソッドにもアクセスできるが、スクラッチパッドを用意しないといけなかったり、使いにくそう。Crypt::OpenSSL::RSA の鍵の入出力には、このオブジェクトが必要だが、それ以外の任意長整数演算は Math::BigInt がお勧め。
use Crypt::OpenSSL::Bignum;
パッケージをロードする。
my $bn = Crypt::OpenSSL::Bignum->new_from_decimal( "1000" );
10進表記文字列からインスタンスを生成する。
my $bn = Crypt::OpenSSL::Bignum->new_from_word( 1000 );
perl スカラー値からインスタンスを生成する。
my $bn = Crypt::OpenSSL::Bignum->new_from_hex("0x3e8");
16進表記文字列からインスタンスを生成する。先頭の"0x"は省略可能。
my $bn = Crypt::OpenSSL::Bignum->new_from_bin(pack( "C*", 3, 232 ));
バイナリデータからインスタンスを生成する。
my $dec = $bn->to_decimal();
10進表記した値を返す。
my $scalar = $bn->get_word();
perl スカラー値を返す。当然ながらperlの整数の範囲外の場合はエラーになる。
my $hex = $bn->to_hex();
16進表記した値を返す。
my $bin = $bn->to_bin();
バイナリデータ表記を返す。