日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

加密封装 怎么把_不要再封装各种Util工具类了,这个神级框架值得拥有!

發布時間:2023/12/4 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 加密封装 怎么把_不要再封装各种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?*?*??
@Override
public?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工具类了,这个神级框架值得拥有!的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。