質問: Microsoft Accessのパスワード暗号化に関する質問です。 使用しているAccessのバージョンはOffice365?です。(現行の最新版です)
回答: VBAの パスワードによるソースコード保護機能は、ハッキングされる可能性が高いことは、その仕組み自体から仕方がないことです。 パスワードが与えられていない場合でも、VBA 自体は常に実行可能であり、ユーザーがソースコードを参照できないというだけという仕様ですから、つまりはVBA はパスワードを知らなくても内部的にソースコードを処理できているというわけです。 要は、ソースコードをパスワードを鍵として強固に暗号化しているわけではなく、VBAアプリケーション内部的にはパスワードなしでも解除できているわけです。ですから、パスワード保護機能自体が存在しない、互換性の低いオフィスソフトなどでは、パスワードなしでも当たり前のようにソースコードも参照できてしまったりします。 それに対して、Microsoft Accessのパスワード暗号化は、本当にデータを暗号化して、符号に変換してしまいますので、アプリケーション内部でも、正しいパスワードがわからない限り暗号化を解除することはできないのです。 この暗号化が強固なものなのかどうかについてはわかりませんが、Microsoft という大企業が簡単に解読されるような幼稚な暗号化ロジックを使っているはずがありません。総当たりでパスワードを試行されても、現実的ではないくらいに十分に長く複雑なパスワード文字列を使用すればよいでしょう。