Vbs passwortabfrage

Sorry aber bin voll die null in vbs.
Kann mir jemand ein vbs script mit einer passwortabfrage erstellen?

Das Passwort soll „passwort11“ heißen
(sehr einfallsreich ich weiß!)

Wenn das Passwort falsch eingegeben wurde soll das Fenster noch einmal erscheinen. So lange bis man es richtig eingibt.

Danke schon mal im Vorraus…

Beginn hier:

dim lngTrack
dim arrLongConversion(4)
dim arrSplit64(63)

Const OFFSET_4 = 4294967296
Const MAXINT_4 = 2147483647

Const S11 = 7
Const S12 = 12
Const S13 = 17
Const S14 = 22
Const S21 = 5
Const S22 = 9
Const S23 = 14
Const S24 = 20
Const S31 = 4
Const S32 = 11
Const S33 = 16
Const S34 = 23
Const S41 = 6
Const S42 = 10
Const S43 = 15
Const S44 = 21

dim passwort

’ ------ Call MD5 Hash Function for your file here !
do
passwort=inputbox(„Passwortabfrage“,„Bitte Passwort eingeben:“,"","*")
loop while calculatemd5(passwort)„e9569f6cea2ca3e0ef0873bd82f30f44“

’ ---------------------------
Function MD5FileHash(strFile)

Dim strMD5 : strMD5 = „“
Dim ofso : Set ofso = CreateObject(„Scripting.FileSystemObject“)

If ofso.FileExists(strFile) then

strMD5 = BinaryToString(ReadTextFile(strFile, „“))

MD5FileHash = CalculateMD5(strMD5)

Else

MD5FileHash = strFile & VbCrLf & „Error: File not found“

End if

End Function

’ --------------------------------------
Function ReadTextFile(FileName, CharSet)

Const adTypeText = 2
Dim BinaryStream : Set BinaryStream = CreateObject(„ADODB.Stream“)

BinaryStream.Type = adTypeText

If Len(CharSet) > 0 Then

BinaryStream.CharSet = CharSet

End If

BinaryStream.Open
BinaryStream.LoadFromFile FileName

ReadTextFile = BinaryStream.ReadText

End Function

’ -----------------------------
Function BinaryToString(Binary)

Dim cl1, cl2, cl3, pl1, pl2, pl3
Dim L
cl1 = 1
cl2 = 1
cl3 = 1
L = LenB(Binary)

Do While cl1300 Then
pl2 = pl2 & pl3
pl3 = „“
cl3 = 1
cl2 = cl2 + 1

If cl2>200 Then

pl1 = pl1 & pl2
pl2 = „“
cl2 = 1

End If
End If
Loop

BinaryToString = pl1 & pl2 & pl3

End Function

’ -------------------------------------------------------
Function MD5Round(strRound, a, b, C, d, X, S, ac)

Select Case strRound

Case „FF“
a = MD5LongAdd4(a, (b And C) Or (Not (b) And d), X, ac)
a = MD5Rotate(a, S)
a = MD5LongAdd(a, b)

Case „GG“
a = MD5LongAdd4(a, (b And d) Or (C And Not (d)), X, ac)
a = MD5Rotate(a, S)
a = MD5LongAdd(a, b)

Case „HH“
a = MD5LongAdd4(a, b Xor C Xor d, X, ac)
a = MD5Rotate(a, S)
a = MD5LongAdd(a, b)

Case „II“
a = MD5LongAdd4(a, C Xor (b Or Not (d)), X, ac)
a = MD5Rotate(a, S)
a = MD5LongAdd(a, b)
End Select

End Function

’ -------------------------------------------
Function MD5Rotate(lngValue, lngBits)

Dim lngSign
Dim lngI

lngBits = (lngBits Mod 32)

If lngBits = 0 Then MD5Rotate = lngValue: Exit Function

For lngI = 1 To lngBits
lngSign = lngValue And &HC0000000
lngValue = (lngValue And &H3FFFFFFF) * 2
lngValue = lngValue Or ((lngSign = lngBytesToAdd Then

For intLoop = 0 To lngBytesToAdd - 1
arrSplit64(lngBytesTotal + intLoop) = bytBuffer(intLoop)
Next

MD5Conversion arrSplit64

lngTrace = (lngLength) Mod 64

For intLoop2 = lngBytesToAdd To lngLength - intLoop - lngTrace Step 64

For intInnerLoop = 0 To 63
arrSplit64(intInnerLoop) = bytBuffer(intLoop2 + intInnerLoop)
Next

MD5Conversion arrSplit64

Next

lngBytesTotal = 0
Else

intLoop2 = 0

End If

For intLoop3 = 0 To lngLength - intLoop2 - 1

arrSplit64(lngBytesTotal + intLoop3) = bytBuffer(intLoop2 + intLoop3)

Next

End Function

’ ---------------------------------------
Function MD5StringArray(strInput)

Dim intLoop
Dim bytBuffer()
ReDim bytBuffer(Len(strInput))

For intLoop = 0 To Len(strInput) - 1
bytBuffer(intLoop) = Asc(Mid(strInput, intLoop + 1, 1))
Next

MD5StringArray = bytBuffer

End Function

’ ------------------------------------
Sub MD5Conversion(bytBuffer())

Dim X(16), a
Dim b, C
Dim d

a = arrLongConversion(1)
b = arrLongConversion(2)
C = arrLongConversion(3)
d = arrLongConversion(4)

MD5Decode 64, X, bytBuffer

MD5Round „FF“, a, b, C, d, X(0), S11, -680876936
MD5Round „FF“, d, a, b, C, X(1), S12, -389564586
MD5Round „FF“, C, d, a, b, X(2), S13, 606105819
MD5Round „FF“, b, C, d, a, X(3), S14, -1044525330
MD5Round „FF“, a, b, C, d, X(4), S11, -176418897
MD5Round „FF“, d, a, b, C, X(5), S12, 1200080426
MD5Round „FF“, C, d, a, b, X(6), S13, -1473231341
MD5Round „FF“, b, C, d, a, X(7), S14, -45705983
MD5Round „FF“, a, b, C, d, X(8), S11, 1770035416
MD5Round „FF“, d, a, b, C, X(9), S12, -1958414417
MD5Round „FF“, C, d, a, b, X(10), S13, -42063
MD5Round „FF“, b, C, d, a, X(11), S14, -1990404162
MD5Round „FF“, a, b, C, d, X(12), S11, 1804603682
MD5Round „FF“, d, a, b, C, X(13), S12, -40341101
MD5Round „FF“, C, d, a, b, X(14), S13, -1502002290
MD5Round „FF“, b, C, d, a, X(15), S14, 1236535329

MD5Round „GG“, a, b, C, d, X(1), S21, -165796510
MD5Round „GG“, d, a, b, C, X(6), S22, -1069501632
MD5Round „GG“, C, d, a, b, X(11), S23, 643717713
MD5Round „GG“, b, C, d, a, X(0), S24, -373897302
MD5Round „GG“, a, b, C, d, X(5), S21, -701558691
MD5Round „GG“, d, a, b, C, X(10), S22, 38016083
MD5Round „GG“, C, d, a, b, X(15), S23, -660478335
MD5Round „GG“, b, C, d, a, X(4), S24, -405537848
MD5Round „GG“, a, b, C, d, X(9), S21, 568446438
MD5Round „GG“, d, a, b, C, X(14), S22, -1019803690
MD5Round „GG“, C, d, a, b, X(3), S23, -187363961
MD5Round „GG“, b, C, d, a, X(8), S24, 1163531501
MD5Round „GG“, a, b, C, d, X(13), S21, -1444681467
MD5Round „GG“, d, a, b, C, X(2), S22, -51403784
MD5Round „GG“, C, d, a, b, X(7), S23, 1735328473
MD5Round „GG“, b, C, d, a, X(12), S24, -1926607734

MD5Round „HH“, a, b, C, d, X(5), S31, -378558
MD5Round „HH“, d, a, b, C, X(8), S32, -2022574463
MD5Round „HH“, C, d, a, b, X(11), S33, 1839030562
MD5Round „HH“, b, C, d, a, X(14), S34, -35309556
MD5Round „HH“, a, b, C, d, X(1), S31, -1530992060
MD5Round „HH“, d, a, b, C, X(4), S32, 1272893353
MD5Round „HH“, C, d, a, b, X(7), S33, -155497632
MD5Round „HH“, b, C, d, a, X(10), S34, -1094730640
MD5Round „HH“, a, b, C, d, X(13), S31, 681279174
MD5Round „HH“, d, a, b, C, X(0), S32, -358537222
MD5Round „HH“, C, d, a, b, X(3), S33, -722521979
MD5Round „HH“, b, C, d, a, X(6), S34, 76029189
MD5Round „HH“, a, b, C, d, X(9), S31, -640364487
MD5Round „HH“, d, a, b, C, X(12), S32, -421815835
MD5Round „HH“, C, d, a, b, X(15), S33, 530742520
MD5Round „HH“, b, C, d, a, X(2), S34, -995338651

MD5Round „II“, a, b, C, d, X(0), S41, -198630844
MD5Round „II“, d, a, b, C, X(7), S42, 1126891415
MD5Round „II“, C, d, a, b, X(14), S43, -1416354905
MD5Round „II“, b, C, d, a, X(5), S44, -57434055
MD5Round „II“, a, b, C, d, X(12), S41, 1700485571
MD5Round „II“, d, a, b, C, X(3), S42, -1894986606
MD5Round „II“, C, d, a, b, X(10), S43, -1051523
MD5Round „II“, b, C, d, a, X(1), S44, -2054922799
MD5Round „II“, a, b, C, d, X(8), S41, 1873313359
MD5Round „II“, d, a, b, C, X(15), S42, -30611744
MD5Round „II“, C, d, a, b, X(6), S43, -1560198380
MD5Round „II“, b, C, d, a, X(13), S44, 1309151649
MD5Round „II“, a, b, C, d, X(4), S41, -145523070
MD5Round „II“, d, a, b, C, X(11), S42, -1120210379
MD5Round „II“, C, d, a, b, X(2), S43, 718787259
MD5Round „II“, b, C, d, a, X(9), S44, -343485551

arrLongConversion(1) = MD5LongAdd(arrLongConversion(1), a)
arrLongConversion(2) = MD5LongAdd(arrLongConversion(2), b)
arrLongConversion(3) = MD5LongAdd(arrLongConversion(3), C)
arrLongConversion(4) = MD5LongAdd(arrLongConversion(4), d)

End Sub

’ -------------------------------------------
Function MD5LongAdd(lngVal1, lngVal2)

Dim lngHighWord
Dim lngLowWord
Dim lngOverflow

lngLowWord = (lngVal1 And &HFFFF&amp:wink: + (lngVal2 And &HFFFF&amp:wink:
lngOverflow = lngLowWord \ 65536
lngHighWord = (((lngVal1 And &HFFFF0000) \ 65536) + ((lngVal2 And &HFFFF0000) \ 65536) + lngOverflow) And &HFFFF&

MD5LongAdd = MD5LongConversion((lngHighWord * 65536) + (lngLowWord And &HFFFF&amp:wink:)

End Function

’ --------------------------------------------------------------
Function MD5LongAdd4(lngVal1, lngVal2, lngVal3, lngVal4)

Dim lngHighWord
Dim lngLowWord
Dim lngOverflow

lngLowWord = (lngVal1 And &HFFFF&amp:wink: + (lngVal2 And &HFFFF&amp:wink: + (lngVal3 And &HFFFF&amp:wink: + (lngVal4 And &HFFFF&amp:wink:
lngOverflow = lngLowWord \ 65536
lngHighWord = (((lngVal1 And &HFFFF0000) \ 65536) + ((lngVal2 And &HFFFF0000) \ 65536) + ((lngVal3 And &HFFFF0000) \ 65536) + ((lngVal4 And &HFFFF0000) \ 65536) + lngOverflow) And &HFFFF&
MD5LongAdd4 = MD5LongConversion((lngHighWord * 65536) + (lngLowWord And &HFFFF&amp:wink:)

End Function

’ -------------------------------------------------------------
Sub MD5Decode(intLength, lngOutBuffer(), bytInBuffer())

Dim intDblIndex
Dim intByteIndex
Dim dblSum

intDblIndex = 0

For intByteIndex = 0 To intLength - 1 Step 4

dblSum = bytInBuffer(intByteIndex) + bytInBuffer(intByteIndex + 1) * 256 + bytInBuffer(intByteIndex + 2) * 65536 + bytInBuffer(intByteIndex + 3) * 16777216
lngOutBuffer(intDblIndex) = MD5LongConversion(dblSum)
intDblIndex = (intDblIndex + 1)

Next

End Sub

’ ------------------------------------------
Function MD5LongConversion(dblValue)

If dblValue = OFFSET_4 Then Error 6

If dblValue

Option Explicit
Dim Tst
do
Tst = InputBox( „Bitte Passwort eingeben:“, „Passworteingabe“ )
if Tst = „passwort11“ Then Exit Do
Loop
MsgBox „Passwort war richtig.“, , WScript.ScriptName

Super Danke

eine Frage habe ich noch…
Was ist das Passwort? Und wo kann ich es ändern?

Sorry habe ja schon gesagt dass ich voll die NULL bin…
aber ich brauche Umbedingt das Passwortfeld.

Gruß Alex

Hey Super Danke.

Funktioniert Perfekt

Vielen dank

Alex

Naja, die Zeile hier verrät es wohl
calculatemd5(passwort)„e9569f6cea2ca3e0ef0873bd82f30f44“
Das Passwort sollte ja verschlüsselt gespeichert werden, sonst kann man es ja mit Notepad auslesen.
Das ganze ist ein MD5. Ersetzt man die Zeichenfolge durch ne neue, hat man ein anderes Passwort.