2016-07-22 8 views
0

私はMicrosoft Excel上にワークシートを構築しており、それは賢明なビジネスデータを処理します。ワークシートはUSBドライブに置かれ、常に移動する必要があります。したがって、パスワード保護を有効/無効にするためのExcel VBAの機能を作成しました。これはどのように動作するのですか?このVBAパスワード保護スクリプトはどれくらい安全ですか?

設定のページは、セル内にユーザーのパスワードを含むxlVeryHiddenです。ページ内の別のセルには、「はい」または「いいえ」という単語が含まれています。天気に応じて、パスワード保護が有効になっています。ユーザーが最初にワークブックを開くと、すべてのシートがボタンを含むボタンを除いてxlVeryHiddenになり、ボタンをクリックするとマクロが実行され、設定シートの天気をチェックします。それに応じて、ログインを促すメッセージが表示されるか、すべてのシートが表示されます。

ログイン用のコードは以下の通りです:

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

、その後、すべてのシートが再表示されています。それ以外の場合は、エラーメッセージボックスが表示されます。

また、VBAコードエディタは、デフォルトシステムにも優れています。

ここで私が求めていること:私のシステムはかなり安全ですか?通常のコンピュータユーザーの場合、これはクラックするのが難しいでしょうか?事前に

感謝:)

+0

実際には安全ではありません。カジュアルな覗き見を防止するのに十分かもしれませんが、本当に見たいと思っている人を防ぐことはできません。 –

+0

保護を解除するまでに1分未満かかることがあります。ブルートフォースマクロでは、パスワードの長さに応じて1時間未満になる可能性があります。 – Slai

+0

md5などのカスタム関数を使用してハッシュされたパスワードを保存することができます。そのため、ファイル内にプレーンではありません。あなたはまた、余分な層のためのパスワードでファイルを7zipすることができますが、その上に述べていないsercure、それはハッキングするのは不便です、もしあなたがファイルに格納されていないパスワードを使用してセル内のデータを暗号化 –

答えて

0

私はあなたのコードへのアクセスを得るためにあなたのマクロの保護を解除することは非常に簡単であることを追加します。可能であれば、ユーザーからの適切な認証の後、機密データを保管し、そこからExcelファイルを移入するために保護されたデータベースを実装することを検討する必要があります。

+0

"あなたのコードにアクセスするためにあなたのマクロの保護を解除するのはかなり簡単です":方法を記述してください。 **は、エクセルファイルにアクセスできるが、Excelではなく、OpenOfficeやLibreOfficeなどのソフトウェアを使って、あなたのコードにアクセスするのは簡単です**。これは既に言及されています。しかし、私が知る限り、強力なパスワードが使用されている場合、**保護されていないVBAプロジェクトの保護を解除するのは簡単ではありません**。 –

+0

@AxelRichter Googleの使い方を知っていれば、保護されたVBプロジェクトをハックする方法を見つけるのは難しいことではありません。 Stack Overflowについても読むことができます。しかし、あなたのパスワードは強く信じているかもしれませんが、弱いものにハッシュされ、ファイル内で簡単に見つけたり無効にしたりすることができます。 –

関連する問題