簡體   English   中英

Oracle PL/SQL 產生與 PERL crypt 相同的 hash

[英]Oracle PL/SQL produce the same hash as PERL crypt

我的公司正在將他們的舊應用程序(perl)遷移到他們的新應用程序(oracle apex)中。 目前,我們所有的內部流程都在 oracle apex 上運行,而我們所有的商家仍在使用舊應用程序。 我在 apex 中創建商家設置(我們的支持用戶為他們設置商家帳戶),在此設置的其中一部分我需要創建供商家使用的登錄名。 The problem is that our old application used the perl crypt function to hash our merchants passwords, so my custom hash in apex does not match the same digest thus not allowing the merchants to sign in. I'm wondering if I have the code to create與舊應用程序完全相同的鹽,oracle 的 DBMS_CRYPTO 是否可以復制與 perl crypt function 完全相同的 hash? $cpw = crypt ($pw, $salt);

如果您在數據庫中啟用了 Java,那么您可以(未經測試):

  1. 使用loadjava實用程序導入包含org.apache.commons.codec.digest.Crypt classapache.commons.codec庫。

  2. 創建一個 PL/SQL function 來包裝 Java 方法:

     CREATE OR REPLACE FUNCTION CRYPT( i_key IN VARCHAR2, i_salt IN VARCHAR2 ) RETURN VARCHAR2 AS LANGUAGE JAVA NAME 'org.apache.commons.codec.digest.Crypt.crypt(java.lang.String, java.lang.String) return java.lang.String'; /

然后你可以稱它為 function 並將其與 Perl 進行比較。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM