grant permission for dbms_crypto

Andrew picture Andrew · Apr 29, 2016 · Viewed 30.6k times · Source

I am using dbms_crypto.encrypt function in my oracle procedure for encryption of passwords. I have connected to oracle as :

connect sqlplus as sysdba

and then granted permission as :

grant execute on sys.dbms_crypto to myuser;

And then i can use dbms_crypto in my procedure. But i would like to know how can i check in my database whether the permission are granted or not for dbms_crypto ? Because i have to use this procedure in another database and does not know whether that database has grant permission or not for dbms_crypto.

Answer

Aleksej picture Aleksej · Apr 29, 2016

You can get all the privileges on DBMS_CRYPTO with this:

select *
from dba_tab_privs
where table_name = 'DBMS_CRYPTO'
  and owner = 'SYS';

The result in your image says that USER_ABCD has the privilege to execute the package SYS.DBMS_CRYPTO, and this privilege has been given by SYS user.