有时候我们操作电脑或数据时可能会临时更改掉项目管理员帐号的密码,但是因为是临时更改的密码不可避免的会出现忘记密码的情况,并且有些存在数据库里的密码又是MD5加密后的,这时候我们应该怎么办呢?

当然,如果想要找回MD5密码,前提是你知道这个密码存在在哪个表的哪个字段,如果是oracle数据库的话,可以用DBMS_OBFUSCATION_TOOLKIT.MD5 ( input => utl_raw.cast_to_raw('预置密码'))来得到一个MD5加密后的密码。

我们可以在UPDATE user set password=DBMS_OBFUSCATION_TOOLKIT.MD5 ( input => utl_raw.cast_to_raw('预置密码')) where name='sys'来重新把不知道的密码用预置密码替换掉,这样我们就可用忘记密码的帐号重新登录了。

DBMS_OBFUSCATION_TOOLKIT.MD5是oracle提供的获得md5值的函数,可以直接使用DBMS_OBFUSCATION_TOOLKIT.MD5 ( input => utl_raw.cast_to_raw('预置密码'))a FROM DUAL来得到加密后的数据,否则得到的是raw类型的数据,需要用utl_raw.cast_to_raw转换成我们常用的md5格式,还有以上得到的md5值都是大写,如果数据库中存储的是小写,需要再用lower函数转换一下。

我们还可以使用存储过程来实现MD5加密:

怎样找回MD5加密的密码?

我们还可以使用存储过程来实现MD5加密:

怎样找回MD5加密的密码?

下面的例子大家可以看一下:reate table sys_user (id number,username varchar2(50),password varchar2(50));

存取用户密码的过程应该写到存储过程中,以方便以后调用,这里是尽量省略来写。

怎样找回MD5加密的密码?

用户登录时取出密码:

怎样找回MD5加密的密码?

如果您也遇到了更改管理员账户的密码但是自己又忘记了,并且密码又是MD5加密后的这类的问题,可以尝试自己解决一下哦。