##提取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 IfEnd 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 IfEnd 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))) & ',' NextEnd Function