全体表示

[ リスト ]

 現在passwordを管理するためにID Managerを使用している。これは素晴らしいソフトではあるが、これで管理しているpasswordをperlスクリプト中で使用したい!という要求が出てきた。例えば、私が良く使っている図書館から借りている本の返却期限や予約している本のリストを調べて自分宛にメールするscriptを書きたいというものだ。

そこで、perlスクリプト中で使用するpasswordを管理するperl moduleを書いた。これはセキュリティ的に決して誉められたことではないが利便とリスクを秤にかけると「perl scriptの中で使う」が勝ってしまうので仕方ない。

以下はサンプルとモジュール。ID_Pass_seed.pmの中は必要に応じて書き換える。ID managerのpasswordのデータをID_Pass_seed.pmの中で指定したディレクトリと名前に指定したxmlファイルに書き出した後scriptを動かせばよい。また、当たり前ではあるが書き出したpasswordは頻繁に替える必要がある。

モジュール中には明示していないが、Crypt-IDEAモジュールをインストールする必要がある。
文字数制限に引っかかるため、ID_Pass_seed.pmとID_Pass.pmは別エントリに書く。

use strict;
use ID_Pass;
use Data::Dumper;

my $DIR = 'C:/'; #適当なディレクトリを指定すること
my $xml = $DIR.'ABC1234.xml'; #ID Managerから書き出すxmlファイル名
my $zip = $DIR.'XYZ7890.zip'; #暗号化圧縮するzipファイル名

if (-e $zip) {
my $mtime = (stat $zip)[9];
my ($sec, $min, $hour, $day, $month, $year) = localtime($mtime);
printf("最終更新日時は'%04d/%02d/%02d %02d:%02d:%02d'です。\n", $year + 1900, $month + 1, $day, $hour, $min, $sec);

}
my $id_key = ID_Pass->new(
xml => $xml,
zip => $zip,
);

print Dumper $id_key;

my $name = '平塚図書館';
my $url = $id_key->url($name);
my $account = $id_key->account($name);
my $password = $id_key->password($name);
print $name,"\n";
print $url,"\n";
print $account,"\n";
print $password,"\n";

my $name = 'NiftyMail';
my $url = $id_key->url($name);
my $account = $id_key->account($name);
my $password = $id_key->password($name);
print $name,"\n";
print $url,"\n";
print $account,"\n";
print $password,"\n";
__END__

閉じる コメント(0)

コメント投稿

顔アイコン

顔アイコン・表示画像の選択

名前パスワードブログ
絵文字
×
  • オリジナル
  • SoftBank1
  • SoftBank2
  • SoftBank3
  • SoftBank4
  • docomo1
  • docomo2
  • au1
  • au2
  • au3
  • au4
投稿

開く トラックバック(1)


.


プライバシー -  利用規約 -  メディアステートメント -  ガイドライン -  順守事項 -  ご意見・ご要望 -  ヘルプ・お問い合わせ

Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.

みんなの更新記事