s2c*_*uts 1 perl checksum module
我需要为Perl中的一堆数据生成校验和,我遇到了这个Digest :: MD5模块.看起来它符合要求,但我想我会在这里询问是否有人有任何建议或可能知道更好的模块使用,甚至可能更合适的摘要算法.正在散列的是大约10个表的数据(一次一个逻辑元组).这将是我第一次使用校验和,所以任何提示,技巧,陷阱都将非常感激.
编辑:据我所知,Digest:MD5没有任何问题,但我从未使用它,也不熟悉哈希算法.我希望有经验的人能告诉我我是否在正确的轨道上.在走得太远之前,只是想要一点确认.
是的,摘要:: MD5会做到这一点; 它是由Gisle Aas(LWP的作者和其他优秀套餐)撰写的,对cpanratings有很好的评价和评价,这两者都应该让你放心,这是一个不错的选择.
使用它可以很简单:
my $checksum = Digest::MD5::md5_hex($data);
Run Code Online (Sandbox Code Playgroud)
如果您认为将来可能会更改所选的摘要算法(例如,使用SHA-1),您可能需要考虑使用Digest - 也是由Gisle Aas编写,并为各种Digest模块提供简单的界面.
例如:
my $digest = Digest->new('MD5');
$digest->add($data); # to add data from a scalar, or:
$digest->add_file($filehandle); # to add data read from a filehandle
my $checksum = $digest->hexdigest; # or just ->digest for binary
Run Code Online (Sandbox Code Playgroud)
这种方法的好处是您可以将"MD5"更改为例如"SHA-1",然后就完成了.
为了完整起见,我将添加为什么你可能希望设计能够轻松使用其他哈希算法 - 如果这被用于任何安全目的,MD5已被证明易受哈希冲突 - 美国国土安全部建议MD5"应被视为加密破坏且不适合进一步使用".但是,对于数据完整性的一般检查,它仍然是许多人可接受的选择,并得到广泛支持.
SHA-1也被认为是弱的; SHA-2被认为是用于加密目的的安全散列的最佳选择.
| 归档时间: |
|
| 查看次数: |
249 次 |
| 最近记录: |