2016-06-22 12 views
1

私のユーザテーブルでは、usernameカラムはPBEWithMD5AndDESアルゴリズムでエンコードされています。今私はこのようなものが欲しい:OracleのPBEWithMD5AndDES文字列を解読する方法は?

WITH TEMP 
AS (SELECT E.UAC_USER_ID AS ID, 
      E.UAC_USER_USERNAME AS USERNAME, 
      E.UAC_USER_FIRSTNAME || ' ' || E.UAC_USER_LASTNAME AS NAME, 
      E.UAC_USER_PERSONELCODE AS PERSONELCODE 
     FROM UAC_USERS E 
     WHERE E.UAC_USER_ISENABLED = 1) 
SELECT * 
FROM TEMP 
WHERE 1 = 1 AND DECODE (USERNAME) = 'admin' 

選択されたフィールドをデコードすることができるOracleの組み込み関数はありますか?

+0

JavaでOracleを使用しようとしましたか? [OracleのJava呼び出し](https://docs.oracle.com/cd/B28359_01/java.111/b31225/chthree.htm)をチェックします。 – dcieslak

答えて

1

私はあなたに答えではなく、問題を解決する方向を与えることができます。

Oracleにはdbms_cryptoというパッケージがあります。です。

は、あなたが他の定数DBMS_CRYPTO.ENCRYPT_PBE_MD5DESがあるDBMS_CRYPTOで

encryption_type PLS_INTEGER :=   -- total encryption type 
          DBMS_CRYPTO.ENCRYPT_AES256 
          + DBMS_CRYPTO.CHAIN_CBC -- description in doc 
          + DBMS_CRYPTO.PAD_PKCS5; -- description in doc 

をencryption_type見つけることができる例https://docs.oracle.com/database/121/ARPLS/d_crypto.htm#ARPLS65690 を参照してください。 理論的にはこれが役立つことがあります。

encryption_type PLS_INTEGER :=   -- total encryption type 
           DBMS_CRYPTO.ENCRYPT_PBE_MD5DES 
           + DBMS_CRYPTO.CHAIN_CBC -- description in doc 
           + DBMS_CRYPTO.PAD_PKCS5; -- description in doc 

しかし、コード内でこのencryption_typeを使用して、私はエラーを取得します。私もいくつかの組み合わせとコードを変更しようとするが、やっと私はあきらめる。その理由の1つは、DBMS_CRYPTO.ENCRYPT_PBE_MD5DESがdocに記述されていないか、例でsmt elseを変更する必要があることです。 。

関連する問題