1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
| Function Check(user_enc) Encrypted = "184,116,232,38,216,127,29,89,225,84,108,82,8,0,161,49,232,127,45,252,147,140,185,210,26,107,123,2,82,189,0,167,205,130,94,54,94,242,138,139,102,79,250,139,9,142,17,42,198,113,246,6,142,31,"
If (user_enc <> Encrypted) Then Check = False Else Check = True End If End Function
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Me.Range("B2")) Is Nothing Then If Check(crypto(Target.Value)) Then Me.Range("C2").Value = "success" Me.Range("C2").Interior.Color = RGB(232, 245, 233) Else Me.Range("C2").Value = "fail" Me.Range("C2").Interior.Color = RGB(251, 233, 231) End If End If End Sub
Function crypto(sMessage) Dim kLen, x, y, i, j, temp Dim s(256)
For i = 0 To 255 s(i) = i Next
j = 0 For i = 0 To 255 j = (j + s(i)) Mod 256 temp = s(i) s(i) = s(j) s(j) = temp Next
x = 0 y = 0 For i = 1 To Len(sMessage) x = (x + 1) Mod 256 y = (y + s(x)) Mod 256 temp = s(x) s(x) = s(y) s(y) = temp
crypto = crypto & (s((s(x) + s(y)) Mod 256) Xor Asc(Mid(sMessage, i, 1))) & "," Next End Function
|