Oracle identified by values

2023-11-09

有时候需要使用user的密码,却不知道user密码是什么,我常常使用如下把戏
1.记录密码hash值
2.更改为自己的密码
3.使用完后,利用identified by values 更改回原来的密码
在oracle 10g的时候,密码是hash后存放在dba_users的password栏位,可以

SELECT 'ALTER USER DBAS IDENTIFIED BY VALUES '||''''||PASSWORD||''''||';' FROM DBA_USERS WHERE USERNAME='DBAS';

在这里插入图片描述
11G分为两种情况
1.旧有的账号仍然存放hash value在user$的password栏位,这里旧有的账号通常从旧系统搬移过来,如exp/imp方式,对于这种清况,仍然可以使用passwod栏位存放的hash value去更改回原来的密码,但是dba_users内的password的栏位不再有密码的hash value,
在这里插入图片描述

因此要稍稍修改一下上述sql
SELECT 'ALTER USER DBAS IDENTIFIED BY VALUES '||''''||PASSWORD||''''||';' FROM SYS.USER$ WHERE NAME='DBAS'; 在这里插入图片描述

2.新创建账户的密码增加了salt value,存放于user$表的spare4栏位,密码hash value仍然存放于password值,因此新的密码完整的hash value将是<spare4;password>的组合。

SELECT 'ALTER USER DBAS IDENTIFIED BY VALUES '||''''||SPARE4||';'||PASSWORD||''''||';' FROM SYS.USER$ WHERE NAME='DBAS';

在这里插入图片描述
Oracle 12c 引入了新功能,使用户 ID/密码哈希值更加安全。 12c 安全指南中讨论了用于密码的 12c 验证程序。在该部分中,它提到了在对密码进行哈希处理时添加到密码中的盐值(salt value)。
在这里插入图片描述
在以前的版本中,SPARE4 列几乎不会包含那么多字符。 这绝对比 12c 之前的版本更复杂。 我的猜测虽然未经证实,但 S: 上面输出的一部分是盐值。 我不确定 H: 和 T: 代表什么。
我们可以使用 DBMS_METADATA 包对用户进行逆向工程。 当我们这样做时,我们可以看到我们仍然可以使用 IDENTIFIED BY VALUES 子句。
在这里插入图片描述
需要注意的是,当尝试使用 exp/imp 或 Data Pump 将用户从 12c 之前的版本迁移到 12c 时, 如果您完全导出 Oracle 11g 数据库,则转储将包含旧密码哈希值。 导入 12c 时,您将收到 ORA-02153 错误。 要解决此问题,这时需要在 12c 数据库中使用已知密码预先创建用户。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Oracle identified by values 的相关文章

随机推荐

  • 多线程之线程同步

    多线程内容大致分两部分 其一是异步操作 可通过专用 线程池 Task Parallel PLINQ等 而这里又涉及工作线程与IO线程 其二是线程同步问题 鄙人现在学习与探究的是线程同步问题 通过学习 CLR via C 里面的内容 对线程同
  • leetcode 200. 岛屿数量——java题解

    题目所属分类 flood fill 算法 dfs算法经典 原题链接 给你一个由 1 陆地 和 0 水 组成的的二维网格 请你计算网格中岛屿的数量 岛屿总是被水包围 并且每座岛屿只能由水平方向和 或竖直方向上相邻的陆地连接形成 此外 你可以假
  • java运行jar文件中某个类

    size medium 运行jar文件的方法是 1 java jar xxx jar 但是有时 我们希望运行里面的具体某个类 这时可以通过 1 java cp xxx jar xxx com xxxx 其中 cp命令是将xxx jar加入到
  • 定时任务中的cron表达式

    目录 cron 表达式的定义 cron 表达式时间域的定义 cron 表达式中的通配符 常用cron表达式示例 cron 表达式的定义 虽然之前用过 cron 表达式 但对其表达式的含义只是粗略了解 恰逢最近需要使用 经查询资料 对其进行详
  • 【数据挖掘】用户画像

    概念区分 Persona和Profile 经常都翻译为用户画像 二者的概念有相关的部分 但是也有区别 Persona 也叫做用户角色 是描绘抽象一个自然人的属性 用于产品和用户调研 Profile 是和数据挖掘 大数据息息相关的应用 通过数
  • STM32-keil5仿真调试

    借着备考蓝桥杯 整理一下32的调试技巧 1 在魔术棒里找到Debug栏 选择软件仿真 注意右下角Parameder 2 进入调试界面 3 点击进入示波器 点击setup设置 点击右上角新建 输入例如PORTA 6 再选择Display Ty
  • 背包算法的实现

    实现了将一些数据构成的一个背包问题做简单的实现 但不知道有没有理解对 如有错误 还请指出 物品类的javabean package main public class goods private int weight private int
  • 利用JDBC同步不同数据库间的历史数据(脚本)

    1 例如线上线下订单之间的同步 Controller RequestMapping import public class O2oImportOrderPaymentsController Autowired private O2oImpo
  • 解决绕过android下apk使用usb设备权限查询相应问题,自动获取usb权限

    转载请注明 http blog csdn net hubbybob1 article details 50263925 很多Android的应用在使用usb设备时 尤其是usb摄像头 前段时间编写了一个有关usb设备的apk 但是在使用时总
  • JS-style属性

    HTML元素 style 样式属性 值 document getElementById titles style color ff0000 document getElementById titles style fontSize 25px
  • HTML5上的LocalStorage(本地存储)基本用法

    获取localStorage的长度 window localStorage length 添加 编辑localStorage的内容 window localStorage setItem 键 值 根据对应的索引去获取对应localStora
  • Redhat5 安装序列号及版本说明

    为了保证安装的组件和订阅相匹配 红帽企业 Linux 5 需要输入一个安装号 它被用来配置安装程序来提供正确的软件包 安装号码包含在你的订阅里 如果您没有输入安装号码 只有核心服务器或 Desktop 将会被安装 其它功能可以在以后被手工安
  • Matlab Simulink 常用快捷操作和功能(1)

    1 快速查找library里面的模块 双击左键 然后输入要查询的模块名称 gt 2 block 和 signal 的命名修改 单击block 显示 修改名字 3 Simulink支持从块参数对话框中创建变量 可以在Simulink中创建MA
  • vue element admin 拖拽dialog v-el-drag-dialog

    1在vue element admin master里找到src directive el drag dialog文件夹复制到自己的相同目录下 2页面引用 import elDragDialog from directive el drag
  • 读者写者模型

    前一节介绍完了生产者消费者模型 它是一种一方生产数据 另一方消费数据的模式 下面介绍另外一种不同于生产消费的模型 即读者写者模型 两者相同 和前面的模型相比 读写模型中写者与写者之间还是互斥关系 写者与读者之间还是互斥与同步关系 两者差异
  • 数字信号处理第一次试验:系统响应及系统稳定性

    数字信号处理第一次试验 系统响应及系统稳定性 前言 一 实验目的 二 实验原理与方法 三 实验环境 四 实验内容及步骤 五 实验结果截图 含分析 六 思考题 七 实验报告要求 前言 为了帮助同学们完成痛苦的实验课程设计 本作者将其作出的实验
  • unity+高通vuforia开发增强现实(AR)教程(三) (勘误)

    按照原作者的想法 是可以实现手机观察到播放封面 但没法点击播放 针对这个问题 我翻看了官方论坛 因为最新的unity包缺少了一个C 文件 把缺少的文件加上 可以实现播放 以下为详细说明 The objective here is to sh
  • C++异常处理try和throw以及catch的使用

    异常捕获的基本构成方式 try c 异常的处理方式 包含可能抛出异常的语句 catch 类型名 形参名 捕获特定类型的异常 处理异常的语句 条件是抛出的异常类型是与catch参数类型匹配 try捕获异常并不能保证程序就不会崩溃 通常还需要做
  • python中关于requests里的timeout()

    timeout 超时 首先是 为防止服务器不能及时响应 大部分发至外部服务器的请求都应该带着 timeout 参数 在默认情况下 除非显式指定了 timeout 值 requests 是不会自动进行超时处理的 如果没有 timeout 你的
  • Oracle identified by values

    有时候需要使用user的密码 却不知道user密码是什么 我常常使用如下把戏 1 记录密码hash值 2 更改为自己的密码 3 使用完后 利用identified by values 更改回原来的密码 在oracle 10g的时候 密码是h