PLSQL"给"脚本但不允许用户阅读

fm3*_*007 0 oracle obfuscation oracle-sqldeveloper

我是pl/slq的新手,我的问题是:是否可以在sql plus或sql developer中"编译"脚本并将文件提供给其他人,以便允许其他人执行代码但不允许他们阅读代码?

Jus*_*ave 6

听起来您正在谈论Oracle wrap实用程序(一个单独的命令行应用程序,它是Oracle客户端安装的一部分,而不是SQL Developer的一部分)或dbms_ddl.wrap函数,您可以从SQL Developer调用它.这些创建了模糊的语句,这些语句将创建行为正常的存储过程(或包或函数),但数据字典中的文本不是人类可读的.自适应实用程序不能提供完美的安全性 - 互联网上有解包工具和演示文稿,可以让攻击者解开您提供的代码.并且您通常可以通过查看其他数据字典视图(v$sql将显示已执行的已解包的SQL语句)或跟踪会话来确定未解包的代码实际执行的操作.