怎樣找回MD5加密的密碼?

有時(shí)候我們操作電腦或數(shù)據(jù)時(shí)可能會(huì)臨時(shí)更改掉項(xiàng)目管理員帳號的密碼,但是因?yàn)槭桥R時(shí)更改的密碼不可避免的會(huì)出現(xiàn)忘記密碼的情況,并且有些存在數(shù)據(jù)庫里的密碼又是MD5加密后的,這時(shí)候我們應(yīng)該怎么辦呢?

當(dāng)然,如果想要找回MD5密碼,前提是你知道這個(gè)密碼存在在哪個(gè)表的哪個(gè)字段,如果是oracle數(shù)據(jù)庫的話,可以用DBMS_OBFUSCATION_TOOLKIT.MD5 ( input => utl_raw.cast_to_raw('預(yù)置密碼'))來得到一個(gè)MD5加密后的密碼。

我們可以在UPDATE user set password=DBMS_OBFUSCATION_TOOLKIT.MD5 ( input => utl_raw.cast_to_raw('預(yù)置密碼')) where name='sys'來重新把不知道的密碼用預(yù)置密碼替換掉,這樣我們就可用忘記密碼的帳號重新登錄了。

DBMS_OBFUSCATION_TOOLKIT.MD5是oracle提供的獲得md5值的函數(shù),可以直接使用DBMS_OBFUSCATION_TOOLKIT.MD5 ( input => utl_raw.cast_to_raw('預(yù)置密碼'))a FROM DUAL來得到加密后的數(shù)據(jù),否則得到的是raw類型的數(shù)據(jù),需要用utl_raw.cast_to_raw轉(zhuǎn)換成我們常用的md5格式,還有以上得到的md5值都是大寫,如果數(shù)據(jù)庫中存儲的是小寫,需要再用lower函數(shù)轉(zhuǎn)換一下。

我們還可以使用存儲過程來實(shí)現(xiàn)MD5加密:

怎樣找回MD5加密的密碼?

我們還可以使用存儲過程來實(shí)現(xiàn)MD5加密:

怎樣找回MD5加密的密碼?

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

存取用戶密碼的過程應(yīng)該寫到存儲過程中,以方便以后調(diào)用,這里是盡量省略來寫。

怎樣找回MD5加密的密碼?

用戶登錄時(shí)取出密碼:

怎樣找回MD5加密的密碼?

如果您也遇到了更改管理員賬戶的密碼但是自己又忘記了,并且密碼又是MD5加密后的這類的問題,可以嘗試自己解決一下哦。