CGIなどのの質問を受付ます。
現在SPAM対策の為、一部ホストアドレスを規制中。
▼スレッド
│
└◇74:crypt暗号化・・・・ [とむ] 11/13 10:36
└◇75:Re:crypt暗号化・・・・ [moon] 11/14
└◇76:Re[2]:crypt暗号化・・・・ [とむ] 11/14
└◇77:Re[3]:crypt暗号化・・・・ [moon] 11/15
└◇78:Re[4]:crypt暗号化・・・・ [とむ] 11/18 <
うーっす、OFF会いつやるの?スレッド一覧
まあ、連絡ください。万難排除してでもいくので。
で、質問。
BBSの削除・変更用パスにCrypt暗号使ったのはいいけど、
複合化できないの知ってるから、入力パスワードをCrypt
かけて暗号化したら、消せなくなったんですが。
ちなみにソースはこんな感じ
$pass_check = crypt($date,$in{'passwd'});
if ($pass_check eq $array[$#array]){
# -- ここで処理
$flag = 1;
}
<変数>
$array[$#array] : ログにかかれているパスワード
$in{'passwd'} : 入力されたパスワード
$pass_check : 上のパスワードのCrypt後
どして?
> $pass_check = crypt($date,$in{'passwd'});スレッド一覧
>
> if ($pass_check eq $array[$#array]){
> # -- ここで処理
> $flag = 1;
> }
>
> <変数>
> $array[$#array] : ログにかかれているパスワード
> $in{'passwd'} : 入力されたパスワード
> $pass_check : 上のパスワードのCrypt後
cryptって、上の2バイト使ってやらなダメなんでしょ?
使ってへんからやん?
おおう、上部2byteは日付によって変更しております。スレッド一覧
その2byteを格納した変数が$dateですよぉ
if ($F{'pass'} =~ /^\$1\$/) { $salt = 3; } else { $salt = 0; }スレッド一覧
if (crypt($F{'pass2'}, substr($F{'pass'},$salt,2)) eq $F{'pass'}) {
$message = "パスワードは「$F{'pass2'}」であってます";
}
if (!$message) { $message = "パスワードがちがうよ"; }
とか、
if (crypt($_, substr($F{'pass'},$salt,2)) eq $F{'pass'}) {
$message = "パスワードは「$_」です";
}
とかの感じ。
MD5だと頭が$1$とかになるよねぇ。。
おおう、そやった。MD5つうこと忘れてたわ。スレッド一覧
そのコードでやったらうまくいったでぇ!
しかし、難儀やなぁ。もっと簡単だった覚えがあるんやけどな。
あとはこれを、PRELから、PHP化するだけや。
おいちゃんがんばりますわ。
ほな!ありがとさん。