#!/usr/bin/perl $| = 1; use strict; use warnings; use Digest::MD5; use DBI; my $data_source = 'dbi:mysql:test'; my $username = 'test'; my $password = 'test'; my $buffer; my $dbh = DBI->connect($data_source, $username, $password) or die $DBI::errstr; my $rv = $dbh->do(<<"SQL") or die $DBI::errstr; CREATE TABLE    IF NOT EXISTS test (     id INT,     myData LONGBLOB,     myName CHAR(64),     myMd5 CHAR(128)    ); SQL my ($md5,$sum); my $sth; for my $j (1..10) {    my $rnd = rand(time());    my $i = $j + int($rnd);        $buffer = 'XFCE#'. chr(rand(100)) . '(123a3#aA2' . "\xAA" . "\011" . '211x0|c' . chr(rand(100)) . '022' . "\xDF" . "171" .  chr(rand(100)) . "616" . $rnd;        $md5 = Digest::MD5->new;    $md5->add($buffer);    $sum = $md5->hexdigest;        $sth = $dbh->prepare(<execute($i, $buffer, $rnd, $sum) or die $DBI::errstr;; }     $sth = $dbh->prepare(<execute() or die $DBI::errstr; while (my @row = $sth->fetchrow_array) {    $buffer = $row[0];    $md5 = Digest::MD5->new;    $md5->add($buffer);    $sum = $md5->hexdigest;    print $row[3], ':  ';    die if $row[1] ne $row[2]; # gespeicherte MD5 ungleich durch MySQL errechnete?    die if $sum ne $row[2]; # durch Digest::MD5($buffer) errechnete MD5 ungleich durch MySQL errechnete?    print "ok", "\n"; } 1;