在信息量爆棚的大数据时代,越来越多的企业开发了属于自己的网站、app。使用这些软件都需要用户登录后才能使用,那么用户的信息在后台如何被保护就成为了一大问题。

        本文主要讲解如何在用户注册时使用md5加密来保护信息。

主角登场:在spring核心包的MD5密码工具类---DigestUtils

该类下的方法:

这里我们主要使用该类下 返回值为 Stringmd5DigestAsHex (byte[] bytes) 方法。

测试及效果如下:

我们将生成的字符串复制到 md5解密网站 查看是否一致:

附上md5解密网站链接md5解密网站 

但是细心的朋友在测试时会发现,固定的密码每次通过这种方式加密后所生成的字符串都是一致的:(如图所示)

那么就会造成很大的安全隐患,失去了加密的意义。此时就需要我们通过加 “盐” 的方式来对密码进行再处理升级 (md5有点咸~)

复制进 md5加密网站 后:查询结果如下

附上测试代码:

 //  定义一个静态常量 盐 salt
 private static final String salt = "edg qwerdf win";
 public static void main(String[] args) {
     //  简单的测试,定义密码为123
     String pwd = "123";
     //  将用户键入的密码与盐进行字符串拼接,
     //  拼接的方式有多种,盐的定义也有多种,自定义即可
     String finalPwd = pwd + salt;
     //  调用该类下返回值为String的方法,并将finalPwd转换为byte[]类型
     String s = DigestUtils.md5DigestAsHex(finalPwd.getBytes());
     //  打印生成的字符串并查看效果
     System.out.println(s);
     System.out.println(new Date());
 }

        这样一来,我们便完成了真正意义上的对后台数据的加密处理。将加盐后的字符串存入数据库即可实现对用户密码的保护。当然,盐需要管理员记录以便于企业内部使用,后续会出对盐加密后数据的处理方式以供用户登录。

md5加盐加密后实现登录 :
使用 md5加盐加密后 的数据 实现用户登录【一看就懂】 


如有错误,欢迎指正

Thanks

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐