檢索oracle中口令:第二種方法

newknight發表於2013-11-28

在檢索口令是否與使用者名稱相同的第一種方法中,實際上並不算可取。

假設原先使用者名稱與口令並不相同,而在檢索口令過程中,正好有業務程式在操作,那麼修改口令做檢查的時候可能導致業務無法操作,安全性不高。

甚至過多的業務程式錯誤登陸,會導致使用者被lock。

 

那麼推薦第二種方法。

建立以一個字母為名字的role,通過加密role,檢查加密role的口令值,看看role加密的口令值是否與使用者的口令值相同,即可得出使用者口令是否與名字相同的結論。

 

測試如下:

管理員A:

SQL> CREATE USER ZC IDENTIFIED BY ZC;

設定ZC使用者的口令為大寫ZC ,與使用者名稱相同

 

管理員B:

SQL> SELECT NAME,PASSWORD FROM sys.user$ WHERE TYPE#=1 AND NAME=’ZC’;

 

NAME                           PASSWORD

—————————— ——————————

ZC                             931282A72FB31E22

 

管理員B此時發現使用者ZC加密後的口令是<931282A72FB31E22>

 

管理員B建立role,role名字為Z,口令為CZC,注意此處正好是ZCZC

正好是 :  <ZC+ZC>

 

SQL> CREATE ROLE Z IDENTIFIED BY CZC;

Role created

 

SQL> SELECT NAME,PASSWORD FROM sys.user$ WHERE TYPE#=0 AND NAME=’Z';

NAME                           PASSWORD

—————————— ——————————

Z                              931282A72FB31E22

 

檢查後發現加密後的role口令值也<931282A72FB31E22>

 

結論:

那麼即可得出結論,使用者ZC的口令也是ZC,與使用者名稱相同

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10009036/viewspace-1061454/,如需轉載,請註明出處,否則將追究法律責任。

相關文章