完全に動的なパスワードを作成して、同じパスワードでも異なる結果が生成されるようにします。パスワード aaa の最初の操作後の結果は次のようになります。
jlce1d65ec3b91556234879c9db8f6da1123
2 回目:
hjmnbe0d01cc1fbd3e18ae7431fa52fb3ce4
3 回目:
grttb05901915e121d83ebefad7e809ef1b0
……
もちろん、Dongwang の MD5 関数をベースに私が修正したコードを復元して比較することもできます。
'=======================================
'word 暗号化する文字列
'暗号化された単語を返す
'例:response.write Md6("aaa")
「www.downcodes.com」
'======================================
関数 Md6(Word)
Dim Random、RandomNum、reRandom、reWord
ランダム化
レンしながら実行(ランダム) < 4
RandomNum = Chr(25 * rnd + 97)
ランダム = ランダム & ランダム数
ループ
reランダム = Md5(ランダム)
reWord = Md5(ワード)
Md6 = LCase(ランダム & Md5(再ランダム + リワード))
関数の終了
'========================================
'Wrod は検証する必要がある文字列で、OldWord は暗号化後の元の文字列です。
'比較結果を返します。等しい場合は True を返し、それ以外の場合は False を返します
'例: pwd="aaa"
' old_pwd="grttb05901915e121d83ebefad7e809ef1b0"
' Md6Back(pwd,old_pwd)=TRUE の場合、
「...
'======================================
関数 Md6Back(Word, OldWord)
Dim Random、RandomNum、reRandom、reWord
ランダム = Mid(OldWord, 1, 4)
reランダム = Md5(ランダム)
reWord = Md5(ワード)
OldWord = ランダム & Md5(reRandom + reWord) の場合
Md6Back = True
それ以外
Md6Back = False
終了の場合
終了機能