JAVA加密工具类实例

工具类还是老套路,要让用户可扩展,同时提供一个基础工具即可,本文分享BeginCode的用户密码加密工具类的使用,

如果不为了扩展性,可以写成工具类即可,提供两个静态方法如下

一个方法是直接MD5加密,一个方法是通过盐值,提高密码安全性的加密方式

java初学者有什么不懂的可以问我,一起来学习!——我刚整理了一套2018最新的0基础入门教程和进阶教程,无私分享,加裙四九二一七三四八二, 即可获取,内附:开发工具和安装包,以及系统学习路线图

加密工具类

使用的方式如下

直接通过类方法直接调用即可: 比如我们登录密码验证的代码如下

加密工具类使用

这种方式的工具类,也可以通过继承的方式扩展新的加密方法,但如果想换加密方式只能换个类,把所有用到该类的地方都替换掉,也就是面向类的编程了。

另一种方式,也是前几个工具类中提到的面向接口编程的方式

定义接口

定义加密接口,一个是MD5加密,一个是有盐值的加密

提供一个默认实现类

加密方法默认实现类

有盐值的加密 将加密字符串和盐值链接,共同完成MD5加密,提高密码的安全性,只要保护好自己的盐值不被泄露就好。

spring集成使用

Spring直接配置bean即可

代码使用

java初学者有什么不懂的可以问我,一起来学习!——我刚整理了一套2018最新的0基础入门教程和进阶教程,无私分享,加裙四九二一七三四八二, 即可获取,内附:开发工具和安装包,以及系统学习路线图

注入encoder,直接调用对应方法即可

使用说完,说一下扩展吧,

比如我的盐值加密的方法,是将盐值放在密码的后面,共同加密。

突然有一天我又想做的特殊一点,比如我将盐值一分为二,做成 盐值+密码+盐值的方式再共同加密,

那就再写个实现类,做出这个实现即可,然后修改下spring配置的bean,其他代码不用改,直接就替换成新的加密方式。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180325A0MBTJ00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券