Wie laalto sagte Blowfish_PP (weil es Blowfish, nicht weil es _PP) arbeitet an Blöcken.
Umgang mit ihm ist in der Regel komplex, deshalb haben Sie Crypt::CBC Modul, das ist ein Wrapper auf (praktisch) jedes Crypt :: * Modul, das Blockchiffre bietet, und ermöglicht es Ihnen, auf eine viel einfachere Weise zu verwenden.
Zum Beispiel Code mit Crypt :: CBC wäre:
#!/usr/bin/perl -w
use strict;
use Crypt::CBC;
my $key = "12345678";
my $plaintextBlock = "mystringhere";
my $cipher = Crypt::CBC->new(
-key => $key,
-cipher => 'Blowfish_PP'
);
my $ciphertext = $cipher->encrypt($plaintextBlock);
# my $textual = $ciphertext;
# $textual =~ s/([^a-zA-Z0-9])/sprintf "\\x%02x", ord $1/ge;
# print "ciphertext: [$textual]\n";
print "ciphertext: [$ciphertext]\n";
my $plaintext = $cipher->decrypt($ciphertext);
print "plaintext: [$plaintext]\n";
Denken Sie daran, dass Chiffretext Strom von Bytes ist, so ist es nicht wirklich druckbar. Vielleicht möchten Sie 3 Zeilen im Code auflösen (beginnend mit meinem $ textual = $ ciphertext), um den Chiffretext etwas lesbarer darzustellen.
Zusätzlicher Vorteil der Verwendung von Crypt :: CBC ist, dass, wenn Sie jemals zu einem anderen Algorithmus wechseln möchten - es ist nur eine Änderung in Crypt :: CBC-> new() Anruf.
Übrigens - warum Crypt :: Blowfish_PP? Ich meine, warum nicht Crypt :: Blowfish? _PP-Version ist in der Regel einfach langsamer.
Zusätzlicher Hinweis, direkt aus Crypt::Blowfish, die wir funktional äquivalent zu sein annehmen kann Crypt :: Blowfish_PP:
Das Modul ist in der Lage mit Crypt :: CBC verwendet wird. Sie sind aufgefordert, lesen Sie die Perldoc für Crypt :: CBC, wenn Sie beabsichtigen, dieses Modul für Cipher Block Chaining-Modi zu verwenden.In der Tat, wenn Sie haben irgendwelche Absichten der Verschlüsselung mehr als acht Bytes Daten mit diesem oder andere Blockchiffre, gehen Sie , um eine Art von Block Verkettung Hilfe zu benötigen. Crypt :: CBC neigt dazu, sehr gut darin zu sein. Wenn Sie nicht zu verschlüsseln mehr als acht Bytes, müssen Ihre Daten genau acht Bytes lang sein. Wenn nötig, machen Sie Ihre eigene Polsterung. " als Nullbyte ist perfekt dafür geeignet".