加密封装 怎么把_不要再封装各种Util工具类了,这个神级框架值得拥有!
Hutool 谐音 “糊涂”,寓意追求 “万事都作糊涂观,无所谓失,无所谓得” 的境界。
Hutool 是一个 Java 工具包,也只是一个工具包,它帮助我们简化每一行代码,减少每一个方法,让 Java 语言也可以 “甜甜的”。Hutool 最初是我项目中 “util” 包的一个整理,后来慢慢积累并加入更多非业务相关功能,并广泛学习其它开源项目精髓,经过自己整理修改,最终形成丰富的开源工具集。(抄自作者简介)
功能
一个 Java 基础工具类,对文件、流、加密解密、转码、正则、线程、XML 等 JDK 方法进行封装,组成各种 Util 工具类,同时提供以下组件:
- hutool-aop JDK 动态代理封装,提供非 IOC 下的切面支持
- hutool-bloomFilter 布隆过滤,提供一些 Hash 算法的布隆过滤
- hutool-cache 缓存
- hutool-core 核心,包括 Bean 操作、日期、各种 Util 等
- hutool-cron 定时任务模块,提供类 Crontab 表达式的定时任务
- hutool-crypto 加密解密模块
- hutool-db JDBC 封装后的数据操作,基于 ActiveRecord 思想
- hutool-dfa 基于 DFA 模型的多关键字查找
- hutool-extra 扩展模块,对第三方封装(模板引擎、邮件等)
- hutool-http 基于 HttpUrlConnection 的 Http 客户端封装
- hutool-log 自动识别日志实现的日志门面
- hutool-script 脚本执行封装,例如 Javascript
- hutool-setting 功能更强大的 Setting 配置文件和 Properties 封装
- hutool-system 系统参数调用封装(JVM 信息等)
- hutool-json JSON 实现
- hutool-captcha 图片验证码实现
简单测试
这两天使用 Hutool 把 Halo 里面的一些代码给替换掉了,不得不说,用起来十分顺心,下面简单介绍一下我用到的一些 Hutool 的工具类。
SecureUtil(加密解密工具)
主要是在登录的时候还有修改密码的时候用到的,因为数据库里面的密码是 md5 加密处理的,所以登录的时候需要先加密之后再到数据库进行查询,使用 Hutool 的话,只需要调用 SecureUtil 中的 md5 方法就可以了。
user = userService.userLoginByName(loginName,SecureUtil.md5(loginPwd));
HtmlUtil(HTML 工具类)
这个工具类就比较厉害了,不过我在 Halo 当中用得最多的还是 HtmlUtil.encode,可以将一些字符转化为安全字符,防止 xss 注入和 SQL 注入,比如下面的评论提交。
comment.setCommentAuthor(HtmlUtil.encode(comment.getCommentAuthor()));
这就是防止有小坏蛋故意写一些可执行的 js 代码,然后提交评论,在后台面板就会执行这一段代码,比较危险,使用 encode 方法就可以将 标签给转化成,这样转化之后,js 代码就不会执行了。
另外,HtmlUtil 还提供了以下方法,有兴趣的可以去试一下。
- HtmlUtil.restoreEscaped 还原被转义的 HTML 特殊字符
- HtmlUtil.encode 转义文本中的 HTML 字符为安全的字符
- HtmlUtil.cleanHtmlTag 清除所有 HTML 标签
- HtmlUtil.removeHtmlTag 清除指定 HTML 标签和被标签包围的内容
- HtmlUtil.unwrapHtmlTag 清除指定 HTML 标签,不包括内容
- HtmlUtil.removeHtmlAttr 去除 HTML 标签中的属性
- HtmlUtil.removeAllHtmlAttr 去除指定标签的所有属性
- HtmlUtil.filter 过滤 HTML 文本,防止 XSS 攻击
CronUtil(定时任务)
这个工具就更厉害了,完全不需要类似 quartz 这样的框架来做定时任务,而且 CronUtil 也不需要任何其他依赖,只需要在 resources 下建一个配置文件,然后在程序启动的时候将定时任务开启就行了,如 Halo 的定时备份功能(每天凌晨 1 点备份一次)。
cron.setting:
cc.ryanc.halo.web.controller.admin.BackupController.backupResources = 0 0 1 * * ?cc.ryanc.halo.web.controller.admin.BackupController.backupDatabase = 0 0 1 * * ?cc.ryanc.halo.web.controller.admin.BackupController.backupPosts = 0 0 1 * * ?@Overridepublic void onApplicationEvent(ContextRefreshedEvent event){ this.loadActiveTheme(); this.loadOptions(); this.loadFiles(); this.loadThemes(); //启动定时任务 CronUtil.start(); log.info("定时任务启动成功!");}
具体使用方法请看文档 http://hutool.mydoc.io/?t=255673
好了,就介绍这三个工具类,有兴趣的可以去试试其他的工具,挺全的,这应该是我用过最好用的一个工具类库了,值得一试。
官网地址:http://www.hutool.cn/
来源:ryanc.cc/archives/hutool-java-tools-lib
往期推荐
?
- SpringBoot实战:整合Redis、mybatis,封装RedisUtils工具类等(附源码)
- 用IDEA这样Review代码,真牛逼!
- 阿里取消“P”序列职级显示引热议,网友:P3、P4流下了感动的泪水
点击
加密封装 怎么把_不要再封装各种Util工具类了,这个神级框架值得拥有!相关推荐
- 还在封装各种 Util 工具类?这个神级框架帮你解决所有问题!
来源 | 网络 Hutool 谐音 "糊涂",寓意追求 "万事都作糊涂观,无所谓失,无所谓得" 的境界. Hutool 是一个 Java 工具包,也只是一个工具 ...
- httpurlconnection 封装_不要再封装各种Util工具类了,看看这个框架
不要再封装各种Util工具类了,看看这个框架 Hutool 谐音 "糊涂",寓意追求 "万事都作糊涂观,无所谓失,无所谓得" 的境界. Hutool 是一 ...
- 不要再封装各种Util工具类了,这个神级框架值得拥有!
点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! Hutool 谐音 "糊涂",寓意追求 ...
- calendar类_不要再自己写 Java 工具类了,这些开源的不香吗?
本文收集各种 Java 常用工具类,包括字符串.日期.集合/数组.IO.计时等. 1 字符串 1.1 StringUtils Maven 依赖信息: <dependency> <gr ...
- 封装时间转换工具类_推荐一款封装各种Util工具类,这款神仙级框架你值得拥有!...
点击上方 "Java指南者"关注, 星标或置顶一起成长 免费送 1024GB 精品学习资源 来源:ryanc.cc/archives/hutool-java-tools-lib 简 ...
- 不要再自己封装各种Util工具类了,这款神仙级框架你值得拥有!
点击关注公众号,Java干货及时送达 来源:ryanc.cc/archives/hutool-java-tools-lib 作者:Ryan Wang 简介 Hutool 谐音 "糊涂&quo ...
- php 配置文件加密工具类,SpringBoot集成Jasypt安全框架以及配置文件内容加密(代码示例)...
本篇文章给大家带来的内容是关于SpringBoot集成Jasypt安全框架以及配置文件内容加密(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 我们在SpringBoot项 ...
- java递归生成树结构_突破CRUD | 万能树Java工具类封装(源码)
0.学完本文你或许可以收获 感受一个树工具从初始逐步优化完善的过程 树工具封装的设计思考与实现思路 最后收获一款拿来即用的树工具源代码 对于前端树组件有一定了解和使用过的同学可直接跳跃到第3章节开始. ...
- 发光二极管pcb封装图画法_【AD封装】PH2.0座子插件贴片(带3D)
PH2.0座子插件贴片(带3D) 包含了我们平时常用的PH2.0接插件座子,总共64种封装及精美3D模型.其中包含插件直插,插件侧插,贴片直插,贴片侧插.完全能满足日常设计使用.每个封装都搭配了精美的 ...
最新文章
- php文章排序,PHP+Ajax实现后台文章快速排序
- 2022-02-09
- java高分面试指南:java单例模式双重检查
- linux查看目录下文件个球,球服务翻译……只找到以前版本的。新版的服务名称改了……...
- ssh框架http后台乱码问题
- arm+linux+entry.s,linux kernel 之底层中断机制entry_armv.S
- 《SolidWorks 2017中文版机械设计从入门到精通)》——1.6 参考基准轴
- version `GLIBC_2.14' not found 解决方法.
- Convert excel format exception.You can try specifying the ‘excelType‘ yourself
- Target folder is neither empty nor does it point to an existing SDK installtion.
- 数值计算实验1 Matlab基础实验
- VC “变速齿轮”再研究
- win7系统如何添加环境变量
- Linux Docker镜像上传阿里云和网络配置
- 软文营销有什么效果,主要作用是什么?
- 软件测试工程师简历项目经验怎么写?--1000个已成功入职的软件测试工程师简历范文模板(真实简历)
- 企业数据中心“云化”转型解决方案
- 详解mysql备份恢复的三种实现方式
- 前端面试题(带文字+代码解析),我不相信你看不懂(2022.11.04)
- Ubuntu14.04 LTS更新源
热门文章
- 开源Asp.Net Core小型社区系统
- 跨平台与云端创新,为企业和开发者开辟更广阔的未来
- 基于mysql数据库的应用_MySQL数据库应用
- Js 枚举定义Layer Icon
- 【ArcGIS Pro微课1000例】0012:ArcGIS Pro属性表中文乱码完美解决办法汇总
- 【学生选课系统经典】C#与SQLSERVER连接:Windows应用工程案例
- SQL SERVER两种分页的存储过程介绍
- C语言试题四之计算并输出3到n之间所有素数的平方根之和
- Android之国际化部分文字生效而部分文字没有生效的坑
- Android之Unable to execute dex: Multiple dex files define 解决方法