生のパスワードをこちらのページのように、BASIC認証用に暗号化したいと思います。
ttp://orange-factory.com/tool/crypt.cgi
一行全部変換したいのですが、なにかフリーのソフト、CGIなどありますでしょうか。
もし無い場合には、perl修行中なのですが、こうやって読み込んで、関数に代入して出力するというようなアドバイスなども歓迎です。
よろしくお願いします。
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);
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);
実験してみましたが大丈夫でした。
全部コードも書いていただきありがとうございます。ファイルの読み方と書き込み方の勉強にもなりました。また何かあったらよろしくお願いします。
http://www.linux.or.jp/JM/html/LDP_man-pages/man3/crypt.3.ht...
http://www.tohoho-web.com/wwwperl2.htm
SALTには./も使えます。
改行を削るのは普通chomp
実験してみましたが大丈夫でした。
全部コードも書いていただきありがとうございます。ファイルの読み方と書き込み方の勉強にもなりました。また何かあったらよろしくお願いします。