OpenSSL のあの暗号化って Perl でどうやんの?
DES, 3DES (またの名をDES EDEあるいはTripleDES) * ECB, CBC だけ。最初、 Crypt::TripleDES というモジュールが見つかったので試したけど一向にうまくいかず、EDE のほうを見つけるのに苦労しました。
#!perl
use v5.12;
use utf8;
use strict;
use warnings;
use Crypt::ECB;
use Crypt::CBC;
use Crypt::DES;
use Crypt::DES_EDE3;
use MIME::Base64;
use Test::More;
use File::Temp;
sub openssl ($$) {
my ($args, $content) = @_;
my $fh = File::Temp->new;
print $fh $content;
close $fh;
my $cmd = "openssl $args -in " . $fh->filename;
note $cmd;
my $ret = `$cmd`;
chomp $ret;
$ret;
}
subtest 'DES ECB' => sub {
my $key = '1' x 16;
is openssl("enc -e -nopad -des-ecb -K $key -base64", "foobar "), do {
my $cipher = Crypt::ECB->new;
$cipher->key(pack("H16", $key));
$cipher->cipher('DES');
encode_base64($cipher->encrypt('foobar '), '');
};
};
subtest 'DES CBC' => sub {
my $key = '1' x 16;
my $iv = '1' x 16;
is openssl("enc -e -nopad -des-cbc -iv $iv -K $key -base64", "foobar "), do {
my $cipher = Crypt::CBC->new({
cipher => Crypt::DES->new(pack('H16', $key)),
padding => 'none',
header => 'none',
iv => pack('H16', $iv),
});
encode_base64($cipher->encrypt('foobar '), '');
};
};
subtest '3DES ECB' => sub {
my $key = '1' x 48;
is openssl("enc -e -nopad -des-ede -K $key -base64", "foobar "), do {
my $cipher = Crypt::ECB->new;
$cipher->key(pack("H48", $key));
$cipher->cipher('DES_EDE3');
encode_base64($cipher->encrypt('foobar '), '');
};
};
subtest '3DES CBC' => sub {
my $key = '1' x 48;
my $iv = '1' x 16;
is openssl("enc -e -des-ede-cbc -iv $iv -K $key -base64", "foobar"), do {
my $cipher = Crypt::CBC->new({
cipher => Crypt::DES_EDE3->new(pack('H48', $key)),
header => 'none',
iv => pack('H16', $iv),
});
encode_base64($cipher->encrypt('foobar'), '');
};
};
subtest '3DES CBC (space padding)' => sub {
my $key = '1' x 48;
my $iv = '1' x 16;
is openssl("enc -e -nopad -des-ede-cbc -iv $iv -K $key -base64", "foobar "), do {
my $cipher = Crypt::CBC->new({
cipher => Crypt::DES_EDE3->new(pack('H48', $key)),
padding => 'space',
header => 'none',
iv => pack('H16', $iv),
});
encode_base64($cipher->encrypt('foobar'), '');
};
};
done_testing;
✖
gerry++
gerry++
gerry++
✖
gerry++
✖
✖
シャボン玉 酸素系漂白剤 750g cho45
空気清浄機の加湿を使おうとしたら吹き出す風が若干臭くて、掃除マニュアル通りクエン酸溶液につけたり、消毒用アルコールをかけたりして、一時的にはよくなっても、すぐ臭くなってしまって2日に1度ぐらい掃除するみたいになって、これがだいぶストレスになっていた。
気化部分を見ると部分的に黒くなっていて、カビかなと思ったので、洗濯漕を綺麗にするために買って余った酸素系漂白剤をつかってみた。風呂場で湯船にお湯を溜めて、気化部分をひたして漂白剤をふりかけ、割り箸でときどきかき混ぜながら1時間ぐらい放置したら黒い部分はなくなった。
一応 (反応が終わっていれば無害だけど) 念入りにすすいでからセットしたら臭いは解決した。どのぐらい持つかわからないけど、しばらくは大丈夫そうな気がする。
酸素系の漂白剤は、塩素系のものほどには気を使わなくていいのが使いやすい。
関連エントリー
- 酸素系漂白剤が便利 シャボン玉 酸素系漂白剤 750g cho45 シャボン玉石けん ★ 5.0 / 5.0 cho45 もともと洗濯機の掃除に酸素系漂白剤が効...
- ハイターの種類と選びかた。最も汎用性が高いのは 花王の漂白剤シリーズに「ハイター」というのがあるが、種類がいっぱいあってよくわからない。というところだけど、実は公式のFAQに一覧があって、...
- 空気清浄機の加湿が臭うとかなんとか 加湿器の除菌タイム 液体タイプ 無香料 給水タンク内の除菌・ヌメリ防止専用除菌剤 500ml cho45 除菌タイム ★ 4.0 / 5.0...
- 塩素臭のしない塩素系消毒剤 というのがあるらしいことを知った。ペルオキソ一硫酸水素カリウム+塩化ナトリウムで構成される薬剤らしい。一般向けには杏林製薬がルビスタという製...
- ダイキンの空気清浄機を分解清掃 2年前の買ったダイキンのACK75L-Tの中に虫が入りこんで死んでいるっぽいので分解清掃した。 ダイキンは法人向け技術資料を普通に公開してい...



