shiro----编码解码(加密)

Posted 苏格拉的底

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shiro----编码解码(加密)相关的知识,希望对你有一定的参考价值。

MD5加密,随着发展,会产生反解密资源库,还是不较安全。
使用shiro框架的加解密。

<dependency>
      <groupId>commons-logging</groupId>
      <artifactId>commons-logging</artifactId>
      <version>1.1.3</version>
    </dependency>

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

    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
    </dependency>
import com.itheima.shiro.tools.EncodesUtil;
import org.junit.Test;


/**
 * @Description:封装base64和16进制编码解码工具类
 */
public class EncodesUtil {

    /**
     * @Description HEX-byte[]--String转换
     * @param input 输入数组
     * @return String
     */
    public static String encodeHex(byte[] input){
        return Hex.encodeToString(input);
    }

    /**
     * @Description HEX-String--byte[]转换
     * @param input 输入字符串
     * @return byte数组
     */
    public static byte[] decodeHex(String input){
        return Hex.decode(input);
    }

    /**
     * @Description Base64-byte[]--String转换
     * @param input 输入数组
     * @return String
     */
    public static String encodeBase64(byte[] input){
        return Base64.encodeToString(input);
    }

    /**
     * @Description Base64-String--byte[]转换
     * @param input 输入字符串
     * @return byte数组
     */
    public static byte[] decodeBase64(String input){
        return Base64.decode(input);
    }

}
/**
 * @Description:测试
 */
public class ClientTest {

    /**
     * @Description 测试16进制编码
     */
    @Test
    public void testHex(){
        String val = "holle";
        String flag = EncodesUtil.encodeHex(val.getBytes());//编码
        String valHandler = new String(EncodesUtil.decodeHex(flag));//解码
        System.out.println("比较结果:"+val.equals(valHandler));//true
    }

    /**
     * @Description 测试base64编码
     */
    @Test
    public void testBase64(){
        String val = "holle";
        String flag = EncodesUtil.encodeBase64(val.getBytes());//编码
        String valHandler = new String(EncodesUtil.decodeBase64(flag));//解码
        System.out.println("比较结果:"+val.equals(valHandler));//true
    }


}

以上是关于shiro----编码解码(加密)的主要内容,如果未能解决你的问题,请参考以下文章

Shiro加密

shiro----编码解码(加密)(加salt盐)

Shiro -- 加密

第五章:shiro密码加密

shrio 加密/编码

第五章 编码/加密——《跟我学Shiro》