Shiro-Base64加密解密,Md5加密


Shiro權限框架中自帶的加密方式有Base64加密,MD5加密

在Maven項目的pom.xml中添加shiro的依賴:

<dependency>
    <groupId>org.apache.shiro</groupId>
    <artifactId>shiro-core</artifactId>
    <version>1.4.0</version>
</dependency>

編寫測試程序:

package com.fpc.test;

import org.apache.shiro.codec.Base64;
import org.apache.shiro.crypto.hash.Md5Hash;

public class Md5 {
    /*
     * base64加密
     * */
    public static String encodeBase64(String str) {
        return Base64.encodeToString(str.getBytes());
    }
    
    /*
     * base64解密
     * */
    
    public static String decodeBase64(String str) {
        return Base64.decodeToString(str);
    }
    
    /*
     * Md5加密,shiro框架中自帶Md5,Md5沒有解密
     * */
    public static String md5(String str , String salt) {
        return new Md5Hash(str,salt).toString();
    }
    
    public static void main(String[] args) {
        String password = "123456";
        System.out.println("Base64加密:" + Md5.encodeBase64(password));
        String passwordBase64 = Md5.encodeBase64(password);
        System.out.println("Base64解密:" + Md5.decodeBase64(passwordBase64));
        //Md5加密應用到實際項目中開發比如:注冊提交數據時對密碼進行Md5加密得到的字符串存儲到數據庫
        //做用戶驗證時把數據庫獲取到的密碼再和用戶提交的密碼(同樣進行Md5加密)比較是否相同
        String salt = "md5_!_~+$shifferfef34ro_A7";
        String passwordMd5 =  Md5.md5(password, salt);
        System.out.println("Md5加密:" + passwordMd5 + "   " + passwordMd5.length());
    }
}

運行結果:

Base64加密:MTIzNDU2
Base64解密:123456
Md5加密:83cfa2a455aa626fa20918dbd43b2ad1   32


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM