1

Oracle の DBMS_CRYPTO PL/SQL パッケージを使用して、Apache の htpasswd と互換性のあるパスワードを作成する方法はありますか? そのため、PL/SQL パッケージで、後で .htpasswd ファイルに保存すると正常に機能するハッシュ化されたパスワードを作成します。

現在、コマンド htpasswd -n -b -d を使用して UNIX でこれを行っています。ただし、それらを作成して Oracle テーブルに保存したいと考えています。次に、それらを取得して、必要に応じて .htpasswd ファイルを作成します。

ありがとう!

ジョー

4

1 に答える 1

1

このhtpasswdツールは、いくつかのハッシュ化されたパスワード タイプを生成できます。先史時代のハッシュ形式 を使用する-dフラグを使用しています。ハッシュは驚くほど安全ではなく、驚くほど簡単にクラックできます。 crypt()crypt()

Oracle 10gのこのマニュアル ページによると、このDBMS_CRYPTOパッケージは をサポートしていませんcrypt()。これは驚くべきことではありません。

これを実現するには、別のハッシュ アルゴリズムに切り替える必要があります。最も簡単な方法は、-sフラグの代わりに-dフラグを使用して SHA1 パスワードを作成することと同じです。コマンドラインで試して、結果を確認してください。指定されたパスワード形式は、リテラル文字列{SHA}の後に、base64 でエンコードされた SHA1 ハッシュが続き、ソルティングはありません。このDBMS_CRYPTOパッケージは SHA1 をサポートしているようで、base64 エンコーディングを行う機能もあることが示唆されています。または、自分で .htpasswd ファイルの生成を行っている場合は、好みの方法でハッシュを保存し、選択した言語を使用して出力に変換できます。

于 2012-07-06T15:57:17.890 に答える