• 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
  • 相关阅读:
    闭包函数 (字符编码,文件处理,函数基础总结)
    函数参数详解
    文件处理及函数基础
    文件处理高级
    面向对象----反射
    正则表达式与re模块
    常用模块
    模块和包
    内置函数与匿名函数
    HDU
  • 原文地址:https://www.cnblogs.com/fangpengchengbupter/p/7866242.html
Copyright © 2020-2023  润新知