md5加密可以把密碼變成乙個字串,增加密碼的隱秘性。但是還有乙個問題,就是如果兩個密碼一樣,那麼加密出來的字串也一樣。如果想密碼一樣,加密出來的字串不一樣,可以在md5加密的基礎上,加上鹽值。
步驟:
//6.根據使用者情況構建authenticationinfo物件並返回 ,通常實現類為******authenticationinfo
//以下資訊是從資料庫獲取的
/* * principal:認證的實體資訊,可以是username,也可以是實體類物件
* credentials:資料庫中獲取的密碼
* realmname:當前realm物件的name,呼叫父類的getname()方法即可
*///object principal=username;
//object credentials="fc1709d0a95a6be30bc5926fdb7f22f4";
//string realmname=getname();
//******authenticationinfo info=new ******authenticationinfo(principal, credentials, realmname);
object principal=username;
object credentials=null;
//"fc1709d0a95a6be30bc5926fdb7f22f4";
//不同的使用者,鹽值是不一樣的,所以加密後的密碼也是不一樣的 這裡來乙個簡單的判斷if(
"admin"
.equals
(username)
)elseif(
"user"
.equals
(username)
) string realmname=
getname()
;//4.鹽值
可以看到user和admin的密碼是一樣的,但是加密後的字串是不一樣的。
用 user 123456 和 admin 123456 是可以實現登入的。
Shiro學習 五 Web整合
一 簡介 shiro與web整合,主要是通過配置乙個shirofilter攔截所有url,其中shirofilter類似於如struct2 springmvc這種web框架的前端控制器,是所有請求的入口點,負責根據配置 如ini配置檔案 判斷請求進入url是否需要登入 許可權等工作。請求會經過shi...
Shiro(五)許可權註解
requiresauthentication 表示當前subject已經通過login 進行了身份驗證 即 subject.isauthenticated 返回 true requiresuser 表示當前 subject 已經身份驗證或者通過記住我登入的。requiresguest 表示當前sub...
shiro(五)雜湊演算法(加密演算法)
1.在身份認證過程中往往會涉及加密。如果不加密那麼資料部不安全。shiro內部實現了比較多的雜湊演算法。如md5,sha等。並且提供了加鹽功能,比如 1111 的md5碼為 b59c67bf196a4758191e42f76670ceba 這個md5碼可以在很多破解 上找到相對應的原密碼。但是如果為...