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
posted @ 2017-11-20 14:47  起床oO  阅读(3040)  评论(0编辑  收藏  举报