また、perl ですよ。
ほんとに、MSX-BASIC をちょっと知ってるぐらいで perl をいじり初めて...
で「gpg -ca --cipher-algo TWOFISH」みたいなことを perl でしようと思い
しかし、出来たファイルを gpg に食わせてみる。
う~ん、どっか例が転がってないかなぁ。慣用暗号化ってので先ず敷居が上がるんだよねぇ。
大体、perl 自身で複合化できるかどうかを試していない時点で(^^; perl 自身で複合化できるのなら、pgp コマンドを使わずに perl コマンドで暗号化すれば良いとも言えなくもない。gpg コマンドに関わり合う必要は全くないか。
# でも、出来ないのは悔しい。
ほんとに、MSX-BASIC をちょっと知ってるぐらいで perl をいじり初めて...
で「gpg -ca --cipher-algo TWOFISH」みたいなことを perl でしようと思い
#!/usr/bin/perl -w
use lib qw(...);
# use strict;
use Crypt::OpenPGP::Cipher;
my $orignal;
my $password = "Xevious";
my $algorithm = "Twofish";
# 「key must be 16, 24, or 32 bytes long at Crypt/Twofish.pm line 24.」
# なんて出るので、後ろに NULL をくっつけて 16 bit 単位に揃える。
my $align = 16;
my $length = int((length($password)+($align-1))/$align) * $align - length($password);
$password = $password . ("\000" x $length);
my $cipher = Crypt::OpenPGP::Cipher->new($algorithm,$password);
open BODY, "<$ENV{HOME}/file";
while (<BODY>){$orignal .= $_;}
close BODY;
my $encrepted = $cipher->encrypt($orignal);
open BODY, ">$ENV{HOME}/file.enc";
print BODY $encrepted;
close BODY;
かなり省略。でも、多分動く。use lib qw(...);
# use strict;
use Crypt::OpenPGP::Cipher;
my $orignal;
my $password = "Xevious";
my $algorithm = "Twofish";
# 「key must be 16, 24, or 32 bytes long at Crypt/Twofish.pm line 24.」
# なんて出るので、後ろに NULL をくっつけて 16 bit 単位に揃える。
my $align = 16;
my $length = int((length($password)+($align-1))/$align) * $align - length($password);
$password = $password . ("\000" x $length);
my $cipher = Crypt::OpenPGP::Cipher->new($algorithm,$password);
open BODY, "<$ENV{HOME}/file";
while (<BODY>){$orignal .= $_;}
close BODY;
my $encrepted = $cipher->encrypt($orignal);
open BODY, ">$ENV{HOME}/file.enc";
print BODY $encrepted;
close BODY;
しかし、出来たファイルを gpg に食わせてみる。
> gpg -o - ~/file.enc
gpg: 有効なOpenPGPデータが見つかりません。
gpg: processing message failed: eof
Exit 2
デコードできず。gpg: 有効なOpenPGPデータが見つかりません。
gpg: processing message failed: eof
Exit 2
う~ん、どっか例が転がってないかなぁ。慣用暗号化ってので先ず敷居が上がるんだよねぇ。
大体、perl 自身で複合化できるかどうかを試していない時点で(^^; perl 自身で複合化できるのなら、pgp コマンドを使わずに perl コマンドで暗号化すれば良いとも言えなくもない。gpg コマンドに関わり合う必要は全くないか。
# でも、出来ないのは悔しい。
※コメント投稿者のブログIDはブログ作成者のみに通知されます