我们使用 KornShell (ksh) 脚本连接到 Oracle,该脚本使用 SQL*Plus 连接到 Oracle。Oracle 数据库位于同一个 Solaris 机器上。目前,我们将 Oracle 用户 ID 和密码(纯文本)存储在连接用户的 .ssh 文件夹中的一个文件中,具有 400 个权限位。
DBA 反对这种工作方式,理由是我们使用纯文本密码进行身份验证。当我们提出我们将使用 base64 对密码进行编码时,他们仍然不喜欢这个想法,理由是我们仍然会在 shell 脚本中解密密码并通过网络传输密码。
现在,我想明白这一点——
我一直在阅读 Oracle 在传输密码字符串之前对其进行加密/散列。我现在找不到参考资料,但是,我仍然想确认我的理解。真的是这样吗?我们在 11g r2 上,这会有所不同吗?
我可以在不解密密码哈希的情况下登录 SQL*Plus 吗?例如,DBA 设置密码,将哈希传递给我。我把它放在一个文件中,并作为参数提供给 SQL*Plus。这种身份验证有什么方法可以工作吗?我知道有些工具确实允许这样做,如果您使用他们的工具进行编码,他们就能够解密该值并将其用于身份验证。甲骨文吗?
帮帮我,伙计们。