(七) shiro 加密与解密

1 项目结构图


(七) shiro 加密与解密_第1张图片


2 代码

Encryption.java

package nufront.shiro.util;

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

/**
 * 这里是shiro加密
 * */
public class Encryption {
	
	//加密解密次数
	private static int number = 6;
	
	/**
	 * 封装好的shiro加密
	 * */
	public static String encode(String souce){
		for(int i = 0 ; i < number ;i++){
			souce = encBase64(souce);
		}
		return souce;
	}
	
	/**
	 * 封装好的shiro解密
	 * */
	public static String decode(String souce){
		for(int i = 0 ; i < number ;i++){
			souce = decBase64(souce);
		}
		return souce;
	}
	
	
	
	
	/**
	 * shiro Base64加密
	 * */
	public static String encBase64(String souce){
		return Base64.encodeToString(souce.getBytes());
	}
	
	/**
	 * shiro Base64解密
	 * */
	public static String decBase64(String souce){
		return Base64.decodeToString(souce);
	}

	/**
	 * souce需要加密的字符串
	 * salt自定义盐
	 * */
	public static String md5(String souce,String salt){
		return new Md5Hash(souce,salt).toString();
	}
	
	public static void main(String args[]){
		String password = "jiangpeng241241";
		String enCode = Encryption.encode(password);
		String deCode = Encryption.decode(enCode);
		System.out.println("解密之前 : " + password );
		System.out.println("解密后 : " + enCode );
		System.out.println("还原后 : " + deCode );
		
	}
}

pom.xml


  4.0.0

  shiro.leanring
  shiro
  0.0.1-SNAPSHOT
  jar

  
    UTF-8
  

  
    
      junit
	      junit
	      4.12
	      test
    
    
		javax.servlet
		javax.servlet-api
		3.1.0
	
    
		javax.servlet.jsp
		javax.servlet.jsp-api
		2.3.1
	
    
		jstl
		jstl
		1.2
	
    
		log4j
		log4j
		1.2.17
    
    
		commons-logging
		commons-logging
		1.2
	
  
  
  
  
  
  
    
		 org.apache.shiro
		 shiro-core
		 1.2.4
	
	
		org.apache.shiro
		shiro-web
		1.2.4
	
	
		org.slf4j
		slf4j-log4j12
		1.7.12
	 
	
  
   
    
		c3p0
		c3p0
		0.9.1.2
	
	
		commons-logging
		commons-logging
		1.2
	
	
		mysql
		mysql-connector-java
		5.1.37
	
  

  


3 结果

运行Encryption.java

(七) shiro 加密与解密_第2张图片

你可能感兴趣的:(shiro)