ユーザー名、パスワードの2行でできているCSVファイルがあります。パスワードはまだ暗号化されていません。ここで質問です。

生のパスワードをこちらのページのように、BASIC認証用に暗号化したいと思います。
ttp://orange-factory.com/tool/crypt.cgi
一行全部変換したいのですが、なにかフリーのソフト、CGIなどありますでしょうか。
もし無い場合には、perl修行中なのですが、こうやって読み込んで、関数に代入して出力するというようなアドバイスなども歓迎です。
よろしくお願いします。

回答の条件
  • URL必須
  • 1人3回まで
  • 登録:2006/04/03 01:31:11
  • 終了:2006/04/03 15:16:51

ベストアンサー

id:abunakunai No.1

abunakunai回答回数26ベストアンサー獲得回数32006/04/03 09:29:25

ポイント65pt

Perlだったら以下のようなものでどうですか

SALTを固定したければ$saltを

$salt = 'r7';

などとすれば、

http://orange-factory.com/tool/crypt.cgi

のcgiと同じ変換か調べられます。

csvで','区切りですと、

split ':';

の部分を

split ',';

に変える必要があります。

#!/usr/local/bin/perl
=here
 test.csv
 name:pass
 name02:pass02
 というファイルを test2.csvに保存します。
=cut
# SALT用キャラクタ
@CHAR = (0..9, 'A'..'Z', 'a'..'z');
$buf = '';
# ファイルを開く
open(IN, 'test.csv');
binmode(IN);
# 1行ずつ処理
while (<IN>) {
 # 改行削る
 tr/\r\n//d;
 #:くぎりのものを分ける
 ($name, $pass) = split ':';
 # SALT作成
 $salt = $CHAR[ int(rand(@CHAR)) ]. $CHAR[ int(rand(@CHAR)) ];
 # 新規一行作成
 $buf .= $name. ':'. crypt($pass, $salt). "\n";
}
close(IN);
# 保存
open(OUT, '> test2.csv');
binmode(OUT);
print OUT $buf;
close(OUT);
id:rain2003

実験してみましたが大丈夫でした。

全部コードも書いていただきありがとうございます。ファイルの読み方と書き込み方の勉強にもなりました。また何かあったらよろしくお願いします。

2006/04/03 15:08:46

その他の回答(1件)

id:abunakunai No.1

abunakunai回答回数26ベストアンサー獲得回数32006/04/03 09:29:25ここでベストアンサー

ポイント65pt

Perlだったら以下のようなものでどうですか

SALTを固定したければ$saltを

$salt = 'r7';

などとすれば、

http://orange-factory.com/tool/crypt.cgi

のcgiと同じ変換か調べられます。

csvで','区切りですと、

split ':';

の部分を

split ',';

に変える必要があります。

#!/usr/local/bin/perl
=here
 test.csv
 name:pass
 name02:pass02
 というファイルを test2.csvに保存します。
=cut
# SALT用キャラクタ
@CHAR = (0..9, 'A'..'Z', 'a'..'z');
$buf = '';
# ファイルを開く
open(IN, 'test.csv');
binmode(IN);
# 1行ずつ処理
while (<IN>) {
 # 改行削る
 tr/\r\n//d;
 #:くぎりのものを分ける
 ($name, $pass) = split ':';
 # SALT作成
 $salt = $CHAR[ int(rand(@CHAR)) ]. $CHAR[ int(rand(@CHAR)) ];
 # 新規一行作成
 $buf .= $name. ':'. crypt($pass, $salt). "\n";
}
close(IN);
# 保存
open(OUT, '> test2.csv');
binmode(OUT);
print OUT $buf;
close(OUT);
id:rain2003

実験してみましたが大丈夫でした。

全部コードも書いていただきありがとうございます。ファイルの読み方と書き込み方の勉強にもなりました。また何かあったらよろしくお願いします。

2006/04/03 15:08:46

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません