祝1000! え?何かって? これが、記事番号 1000個目なのです。去年の 1月からなので、2年で 1000件。結構書きましたねぇ。
で、余計なことは置いておいて以下本文。
Crypt::OpenPGP のマニュアルを読んでみると Crypt::OpenPGP で慣用暗号化方式の暗号化が出来るらしい事が発覚。CPAN で、「PGP symmetric」で検索したのが仇か?
「Crypt::OpenPGP::Cipher - PGP symmetric cipher factory」ってあったら、こっちを使おうとするのが心情というものではないか。
さて、どうしたものか。「-w」を外せ?ごもっとも。でもそれは対処療法かと。
で、余計なことは置いておいて以下本文。
Crypt::OpenPGP のマニュアルを読んでみると Crypt::OpenPGP で慣用暗号化方式の暗号化が出来るらしい事が発覚。CPAN で、「PGP symmetric」で検索したのが仇か?
「Crypt::OpenPGP::Cipher - PGP symmetric cipher factory」ってあったら、こっちを使おうとするのが心情というものではないか。
#!/usr/bin/perl -w
use lib qw(...);
use strict;
# use diagnostics;
# use warnings;
use Carp::Clan qw(verbose);
use Crypt::OpenPGP;
my $password = "Xevious";
my $cipher = "Twofish";
my $orig_file = "$ENV{HOME}/file";
my $enc_file = "$ENV{HOME}/file.enc";
my $pgp = Crypt::OpenPGP->new;
my $ciphertext = $pgp->encrypt(
Filename => $orig_file,
Passphrase => $password,
Cipher => $cipher,
Compress => "ZIP",
Armour => 1,
);
open ENC_FILE, ">$enc_file";
print ENC_FILE $ciphertext;
close ENC_FILE;
で、実行すると、use lib qw(...);
use strict;
# use diagnostics;
# use warnings;
use Carp::Clan qw(verbose);
use Crypt::OpenPGP;
my $password = "Xevious";
my $cipher = "Twofish";
my $orig_file = "$ENV{HOME}/file";
my $enc_file = "$ENV{HOME}/file.enc";
my $pgp = Crypt::OpenPGP->new;
my $ciphertext = $pgp->encrypt(
Filename => $orig_file,
Passphrase => $password,
Cipher => $cipher,
Compress => "ZIP",
Armour => 1,
);
open ENC_FILE, ">$enc_file";
print ENC_FILE $ciphertext;
close ENC_FILE;
> ./test_pgp.pl
Use of uninitialized value in concatenation (.) or
string at $HOME/opt/perl/lib/perl5/site_perl/5.8.5/
Crypt/OpenPGP/SKSessionKey.pm line 31.
なんか、ワーニングが出ているのですがきちんと暗号化したファイルは作成されています。で、保存したファイルをデコードさせるとUse of uninitialized value in concatenation (.) or
string at $HOME/opt/perl/lib/perl5/site_perl/5.8.5/
Crypt/OpenPGP/SKSessionKey.pm line 31.
> gpg -o - ~/file.enc
gpg: TWOFISH暗号化済みデータ
gpg: 1 個のパスフレーズで暗号化
gpg: 警告: メッセージの完全性は保護されていません
dummy data
デコードできたけど perl のワーニングと、GPG に「警告: メッセージの完全性は保護されていません」と言われるのは気に食わん。gpg: TWOFISH暗号化済みデータ
gpg: 1 個のパスフレーズで暗号化
gpg: 警告: メッセージの完全性は保護されていません
dummy data
さて、どうしたものか。「-w」を外せ?ごもっとも。でもそれは対処療法かと。
※コメント投稿者のブログIDはブログ作成者のみに通知されます