识别当前的Oracle加密

时间:2018-08-30 14:13:48

标签: oracle security plsql webdb

我目前在使用PL / SQL构建的 Oracle WebDB 中运行应用程序。我必须在PC上安装的 Oracle企业管理器控制台中更改 WebDB 的用户密码的唯一访问权限。我们不再为用户提供Web控制台和更改密码页面。

我正在尝试编写新的更改密码页面。有什么方法可以找出OEM控制台用来更新NavigationService.PopupGoBackAsync(); 表的加密类型,以便可以在新的密码更改页中复制它?

2 个答案:

答案 0 :(得分:2)

您可以在PLSQL中使用动态sql来执行正确的

'Alter user -user- identified by "password";' 

声明。

答案 1 :(得分:1)

您不能直接更新SYS.USER$视图。它不是加密,uses hashing

使用来自PL / SQL的ALTER USER <username> identified by <user_password>语句。然后,对密码进行散列并按照您在SYS.USER$视图中看到的方式进行存储。您应该使用EXECUTE IMMEDIATE语法使它们动态化:

DECLARE
  dml_create_user VARCHAR2(256) := ''; 
  s_user_to_create := 'ju' ;
  s_user_password := 'the_passwd' ;
BEGIN
  dml_create_user := 
      'create user '||s_user_to_create
   || 'identified by '||s_user_password
   || ' default tablespace TSR01 '
   || ' temporary tablespace TST01 '
   || '  profile DEFAULT ' ;

  EXECUTE IMMEDIATE dml_create_user  ; 
END;