perl – 如何打包128位或256位数字

前端之家收集整理的这篇文章主要介绍了perl – 如何打包128位或256位数字前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
是否可以使用perl内置包打包128位或256位数字(使用Crypt :: Random :: makerandom生成的AES键/ ivs)?如果是的话,我的模板X应该是什么

pack('X',($256_bit_number));

是?

谢谢.

解决方法

Perl不能容纳那么大的数字,所以它不可能打包它们.

那么让我们看一下makerandom实际返回的内容.

$perl -MData::Dumper -MCrypt::Random=makerandom \
   -e'print(Dumper(makerandom(Size => 256,Strength => 1)));'
$VAR1 = bless( do{\(my $o = 148076988)},'Math::Pari' );

啊,一个Math::Pari对象.看一下这些文档,似乎没有一种简单的方法来打包它们.但看起来我们没有必要. Crypt::Random提供了返回“打包”号码的makerandom_octet.

$perl -MCrypt::Random=makerandom_octet \
   -e'print(unpack("H*",makerandom_octet(Size => 256,Strength => 1)));'
1432698ef28c63d9cb0bba474c1644b4a6f9736616bd070102a612785332e94bb4

猜你在找的Perl相关文章