gpt4 book ai didi

java - 如何在android/java中使用oracle utl_raw?

转载 作者:行者123 更新时间:2023-11-29 20:20:47 25 4
gpt4 key购买 nike

我的android APP需要用PL-SQL数据库登录,用户密码用加密

l_password := utl_raw.cast_to_raw(dbms_obfuscation_toolkit.md5(input_string => p_password || substr(l_salt,10,13) || p_username ||
substr(l_salt, 4,10)));

所以现在我需要在应用程序(离线登录的情况下)中比较密码。我确实搜索了一个 Oracle 库,但到目前为止没有运气。

是否有带有 utl_raw 的 Oracle 库?或者任何其他解决方法来在 Android/Java 中验证此密码?

最佳答案

您不需要任何库。 Raw在java中用bytes[]表示。看看我的例子。

   public static void main(String[] args) throws SQLException, Exception {
Connection con = ConnectionDefinition.getOracleConnection(); //my oracle connection
PreparedStatement pr = con.prepareStatement("select utl_raw.cast_to_raw(dbms_obfuscation_toolkit.md5(input_string =>'password')) from dual");
ResultSet rs = pr.executeQuery();
rs.next();
byte[] raw = rs.getBytes(1);
String str = new String(raw);
System.err.println(str);

//Generate MD5 Java
MessageDigest md = MessageDigest.getInstance("MD5");
md.update("password".getBytes());
byte byteData[] = md.digest();
System.err.println(new String(byteData));
rs.close();
pr.close();
con.close();
}

关于java - 如何在android/java中使用oracle utl_raw?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33237538/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com