SHA-256 Merkle tree: Difference between revisions

added Perl programming solution
(Added Delphi example)
(added Perl programming solution)
Line 476:
</lang>{{out}}
<pre>a4f902cf9d51fe51eda156a6792e1445dff65edf3a217a1f3334cc9cf1495c2c</pre>
 
=={{header|Perl}}==
{{Trans|Raku}}
<lang perl># 2021022 Perl programming solution
 
use strict;
use warnings;
 
use Crypt::Digest::SHA256 'sha256' ;
 
my @blocks;
 
open my $fh, '<:raw', './title.png';
 
while ( read $fh, my $chunk, 1024 ) { push @blocks, sha256 $chunk }
 
while ( scalar @blocks > 1 ) {
my @clone = @blocks and @blocks = ();
while ( @_ = splice @clone, 0, 2 ) {
push @blocks, scalar @_ == 1 ? $_[0] : sha256 $_[0].$_[1]
}
}
 
print unpack ( 'H*', $blocks[0] ) , "\n";</lang>
{{out}}
<pre>
a4f902cf9d51fe51eda156a6792e1445dff65edf3a217a1f3334cc9cf1495c2c
</pre>
 
=={{header|Phix}}==
351

edits