Base64加密和MD5 Hash加密在Shiro框架下的用法

一、Base64
1.Base64:

Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,Base64就是一种基于64个可打印字符来表示二进制数据的方法。

2.Base64的加密和解密:
  • 代码:
@Test
    public void testBase64(){
		String password = "123456";
        //  Shiro中提供的Base64的API类的encode()方法可以实现对于给定的字节数组实现加密操作。
        byte[] encode = Base64.encode(password.getBytes());

        System.out.println(new String(encode));

        //  Shiro中提供的Base64的API类的decode()方法可以实现对于已加密的字节数粗实现解密操作。
        byte[] decode = Base64.decode(encode);
        System.out.println(new String(decode));
    }
  • 运行结果:
    ![在这里插入图片描述](https://img-blog.csdnimg.cn/20200807231315527.png
二、MD5 Hash
1.MD5加密和MD5 hash的区别:

摘要不同、攻击强度不同、运行速度不同。

①摘要不同

  • MD5加密答:MD5加密摘要比MD5摘要短32bit,是264 是数量级的操作。
  • MD5 hash:MD5 hash摘要比MD5摘要长32bit,是280 数量级的操作。

②攻击强度不同

  • MD5加密:MD5加密对于强行攻击,产生任何一个报文的强度更弱。
  • MD5 hash:MD5 hash对于强行攻击,产生任何一个报文的强度更大。

③运行速度不同

  • MD5加密:MD5加密的循环步骤比MD5 hash少,且要处理的缓存小,导致运行速度比MD5 hash快。

  • MD5 hash:MD5 hash的循环步骤比MD5加密多,且要处理的缓存大,导致运行速度比MD5 加密慢。

2.MD5 Hash加密:
  • 代码:
@Test
    public void testMD5Hash(){
        String password = "123456";
        //Md5Hash(密码)
        System.out.println(new Md5Hash(password));
        //Md5Hash(密码,盐值)
        System.out.println(new Md5Hash(password,"java"));
        //Md5Hash(密码,盐值,hash迭代次数)
        System.out.println(new Md5Hash(password,"java",3));
    }
  • 运行结果:
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值