私は専門家ではありませんが、いくつか提案があり
ます (「ユーザー」はここでは男性と見なされます)。
Windows では、ユーザーがログインすると、そのユーザーに属するファイルまたはフォルダーを操作するすべての権限が与えられます。
ただし、他のユーザーのファイルやフォルダを操作しようとすると、許可されません。そのため、他のユーザーのファイルを操作することはできません。
ユーザーが管理者である場合、そのユーザーはファイルを操作するすべての権限を持ちます。
あなたの場合、ユーザーは管理者ではないと思います。
したがって、次のことをお勧めします:
このアプリケーションのユーザーを作成します。たとえば、Bob とします (Bob は、このアプリケーションを使用するユーザーではありません)。
次に、ファイルを保存するフォルダーを作成し、Bob (および管理者) のみにすべての権限を与えます。
他のすべての場合、フォルダーに対して何もする権限はありません。
アプリケーションは管理者がインストールする必要があります。
起動すると、アプリケーションは現在のユーザーにボブのパスワードを尋ねます。
パスワードが正しい場合は
、アプリケーションを使用して、現在のユーザーにフル アクセスのフォルダー権限を許可します。その後、アプリケーションは必要に応じて機能します。
ユーザーがアプリケーションを終了した場合、
現在のユーザーのすべての権限を削除して、このアプリケーションを終了した後に他のユーザーがそのコンテンツにアクセスできないようにします。
ただし、管理者は引き続きこのコンテンツにアクセスできます。
これは、Linux のユーザー管理に似ています。シェルを取得しているときは、作業が終了したときに
使用するユーザーを変更でき、シェルを終了すると、他のユーザーはそれらのファイルを使用できなくなります。su username
しかし、root ユーザーは Linux で何でもできます。
しかし、1 つ問題があります。
管理者は権限を変更できるため、完全なコンテンツとアクセス権を取得できます。
これを禁止するには、任意の手法を使用して圧縮し、パスワードを使用してファイルを保存します。そのパスワードは、それを使用するユーザーのみが知っています。ファイルをフォルダに保存する前に、パスワードを使用して圧縮してください。ファイルを使用する前に、パスワードを使用して解凍します。
圧縮パスワードがユーザー パスワードと同じ場合、問題があります。
管理者は、ユーザーのパスワードを何かにリセットして、自分のアカウントを開くことができます。
これを防ぐには、次の手法を使用できます:
zip パスワードをユーザー パスワードの逆として使用して、ユーザーのパスワードが 1234 の場合、圧縮パスワードが 4321 になるようにするか、ユーザー パスワードのハッシュ値を圧縮パスワードとして使用します。
zip パスワードが MD5 ハッシュや SHA-1 などのハッシュ値である場合、パスワードの長さが原因で zip ファイルに対するブルート フォースは機能しません。
これが実用的な解決策であるかどうか、またはこれを実装できるかどうかはわかりません。
しかし、これに良いアイデアがあると思うなら、ここからいくつかのアイデアを引き出すことができます。