2016-07-22 6 views
0

Ich baue ein Arbeitsblatt auf Microsoft Excel und es wird mit sinnvollen Geschäftsdaten umgehen. Das Arbeitsblatt wird auf einem USB-Laufwerk abgelegt und muss ständig von Ort zu Ort bewegt werden. Daher habe ich eine Funktion in Excel VBA erstellt, um den Passwortschutz zu aktivieren/deaktivieren. So funktioniert es.Wie sicher ist dieses VBA-Kennwortschutzskript?

Eine Seite namens Einstellungen ist xlVeryHidden mit dem Passwort des Benutzers in einer Zelle, eine andere Zelle auf der Seite enthält das Wort ja oder nein. Je nach Wetter ist der Passwortschutz aktiviert oder nicht. Wenn der Benutzer zum ersten Mal die Arbeitsmappe öffnet, sind alle Blätter xlVeryHidden, mit Ausnahme einer, die eine Schaltfläche enthält, um fortzufahren, klicken sie auf die Schaltfläche, die ein Makro ausführt, um das Wetter auf dem Einstellungsblatt zu überprüfen, das Wort ist ja oder nein. Abhängig davon werden sie mit einem Login aufgefordert oder alle Blätter werden eingeblendet.

Der Code für die Anmeldung ist die folgende:

If PasswordTextbox.Text = ThisWorkbook.Sheets("Settings").Range("J5").Value Then 

Und danach alle Blätter unhidden sind. Sonst gibt es einen Fehler Msg Box.

Auch der VBA-Code-Editor wird mit Excel-Standard-System geschützt.

Was ich hier frage: Ist mein System ziemlich sicher? Für einen normalen Computerbenutzer wäre das schwer zu knacken?

Vielen Dank im Voraus :)

+0

Nicht wirklich sicher - vielleicht genug, um zufälliges Spähen zu verhindern, aber wird nicht jemanden verhindern, der wirklich schauen möchte. –

+0

kann es weniger als eine Minute dauern, um den Schutz aufzuheben. Mit Brute-Force-Makro vielleicht weniger als eine Stunde, je nachdem wie lang das Passwort ist. – Slai

+0

Sie könnten die Hash-Passwörter mit MD5 oder ähnlichen benutzerdefinierten Funktionen speichern, so dass es in der Datei nicht klar ist. Sie könnten auch die Datei mit einem Passwort für eine zusätzliche Schicht Zippen, aber oben erwähnt ist es nicht seriös, es ist unbequem zu hacken, Wenn Sie so weit ging eine Verschlüsselung der Daten in den Zellen mit einem Passwort, das nicht in der Datei gespeichert ist, wäre dies sicher –

Antwort

0

ich will hinzufügen, dass es ziemlich einfach ist, Ihren Makro unprotect Zugriff auf Ihren Code zu erhalten. Wenn möglich, sollten Sie darüber nachdenken, eine geschützte Datenbank zu implementieren, um Ihre vertraulichen Daten zu speichern und Ihre Excel-Datei von dort aus zu füllen, nachdem der Benutzer eine ordnungsgemäße Authentifizierung vorgenommen hat.

+0

"Es ist ziemlich einfach, Ihr Makro zu deaktivieren, um auf Ihren Code zuzugreifen": Bitte beschreiben Sie, wie. Es ** ist ** einfach "Zugriff auf Ihren Code" mit Hilfe von Software, die auf Excel-Dateien zugreifen kann, aber nicht Excel - OpenOffice oder LibreOffice zum Beispiel. Dies wird bereits erwähnt. Aber soweit ich weiß, ist es ** nicht einfach, ein geschütztes VBA-Projekt aufzuheben, wenn ein starkes Passwort verwendet wird. –

+0

@AxelRichter Wenn Sie wissen, wie man Google benutzt, ist es nicht schwer herauszufinden, wie man sich in ein geschütztes VB-Projekt hackt. Sie können sogar auf Stack Overflow darüber lesen. So stark Sie auch glauben mögen, dass Ihr Passwort es ist, es hat sich in etwas ziemlich Schwaches verwandelt und ist auch leicht in der Datei zu finden und zu deaktivieren. –