明らかに、どのような種類のデータベースとも接続しません。これはどのようにして可能ですか?
それを「パスワード保護」と考えることは、実際の状況を少し誤解します。
Zipファイルをパスワードで保護すると、アーカイブは、パスワードをキーとして使用する対称アルゴリズム(暗号化と復号化に同じキー)を使用して暗号化されます。
解凍プログラムは、鍵が正しいかどうかを「確認」します。これは、正面玄関の鍵が正しいかどうかを確認するのと同じ方法です。ロックを開くと、正しい鍵でした。
したがって、この場合、解凍プログラムは指定されたパスワードを使用してデータを復号化しようとし、出力が適切に構造化されたアーカイブである場合、それは正しいパスワードでした。
(私は今のところ、暗号論争のWRT衝突と考えられる重複キー全体をスキップしています。これは、概念があるかどうか理論ではなく、特定の実装ではなく、欠陥)
[〜#〜] edit [〜#〜]:ユーザーとして MobyDisk Zipの場合、コメントで指摘具体的には、構造とファイルツリーは暗号化されず、ファイル自体だけでなく、各ファイルのチェックサムも暗号化されます。使用するパスワードによってファイルが復号化され、復号化されたチェックサムが一致すれば、正しいパスワードが得られました。
特定のZip暗号アルゴリズムに依存します。
たとえば、元のZip仕様では、パスワードを使用して3つの32ビット復号化キーのセットを初期化していました。次に、Zipヘッダー(最初に配置されたランダムな12バイト)が復号化され、その後:
「ヘッダーが復号化された後、バッファの最後の1または2バイトは、復号化されるファイルのCRCの上位ワード/バイトである必要があります...これは、提供されたパスワードが正しいかどうかをテストするために使用できます。 」
( Zip Spec 、セクション6.1)