繁体   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