Shiro权限控制 ---base64加密、MD5加密

来源:互联网 发布:python range转换list 编辑:程序博客网 时间:2024/05/20 01:38

在Java中也有MD5加密,现在咱们讲的是Shiro权限控制框架中自带的加密方式,有base64加密、MD5加密

[java] view plain copy
 print?
  1. <span style="font-size:18px;">package com.java1234.util;  
  2. import org.apache.shiro.codec.Base64;  
  3. import org.apache.shiro.crypto.hash.Md5Hash;  
  4. public class CryptographyUtil {  
  5.   
  6.     /** 
  7.      * base64加密 
  8.      * @param str 
  9.      * @return 
  10.      */  
  11.     public static String encBase64(String str){  
  12.         return Base64.encodeToString(str.getBytes());  
  13.     }  
  14.       
  15.     /** 
  16.      * base64解密 
  17.      * @param str 
  18.      * @return 
  19.      */  
  20.     public static String decBase64(String str){  
  21.         return Base64.decodeToString(str);  
  22.     }  
  23.       
  24.     /** 
  25.      * Md5加密      Shiro中自带MD5没有解密 
  26.      * @param str   要加密的值 
  27.      * @param salt<span style="white-space:pre">  </span>可以看做是拌料 
  28.      * @return 
  29.      */  
  30.     public static String md5(String str,String salt){  
  31.         return new Md5Hash(str,salt).toString();  
  32.     }  
  33.       
  34.     public static void main(String[] args) {  
  35.         String password="123456";  
  36.         System.out.println("Base64加密:"+CryptographyUtil.encBase64(password));  
  37.         System.out.println("Base64解密:"+CryptographyUtil.decBase64(CryptographyUtil.encBase64(password)));  
  38.         //MD5加密应用到实际项目中开发比如:注册提交数据是对密码进行MD5加密就会得到一串这样的70f57208b804bd90d51fdac84afe6472字符串储存到数据库  
  39.         //这就是MD5加密过后的密码,做用户验证是把数据库获取到的密码在对比  
  40.         System.out.println("Md5加密:"+CryptographyUtil.md5(password, "java1234"));  
  41.     }  
  42. }</span>  

以上代码执行后的