All Classes
-
All Classes Interface Summary Class Summary Enum Summary Exception Summary Annotation Types Summary Class Description AbstractChooser<R> 短路顺序选择器的抽象基类,封装了公共的方法AbstractHttpClient<T> HTTP客户端抽象类AbstractRedis 抽象Redis数据类型
集成基础APIAddressDesensitizeRule 结构化地址脱敏规则
取结构化地址“省+市+区/县+街道/乡镇+居委会/村+道路+小区+门牌号”中“省+市+区县+门牌号”部分,门牌号保留最后5位,中间用6个*代替
山东省济南市市中区泺源大街天桥南居委会经二路齐鲁吉祥苑小区8-3-201/山东省济南市市中区******3-201;
山东省烟台市芝罘区齐鲁路211号/山东省烟台市芝罘区******路211号AES AES对称加密算法
提供了AES加密和解密的功能
可自定义key、iv、分组模式、填充模式等等来完成创建不同的AES实例AlgorithmException 加解密相关异常AlgorithmMode 常见加解密器模式(分组模式) https://blog.csdn.net/u013073067/article/details/87086562AlgorithmPadding 加密/解密填充模式AnnotationCache 元注解缓存AnnotationCacheKey 注解缓存Key
用于替代字符串键AnnotationProvider 元注解提供者ArrayUtils 数组工具类AscUtils ASC编码Assert 断言工具类 如果为true 则程序继续执行 如果为false 则程序抛出异常,并终止执行(默认抛出AssertArgumentException异常)AssertArgumentException 断言参数异常AssertCall<Exp> 断言回调AsymmetricAbstract 非对称算法加密/解密/签名/验签抽象类
默认实现基本功能AsymmetricException 非对称加密/解密异常AsymmetricKey AsymmetricKeyFormat 非对称算法对公钥/私钥格式转换接口AsymmetricSign 非对称算法签名接口
提供签名/验签方法AsymmetricSignException 非对称签名异常AsymmetricType 非对称加密类型算法类型枚举BankCardDesensitizeRule 隐藏银行卡号脱敏规则
前四位 后四位Base64Type Base64编码类型枚举Base64Utils 此工具类封装了Java标准库中的Base64相关功能,使其更易于使用
Base64编码是一种将二进制数据转换为可打印字符的编码方式,常用于数据传输和存储
支持的编码类型包括标准编码方式(RFC4648)、URL安全编码方式(RFC4648_URLSAFE)、MIME编码方式(RFC2045)BaseHttpConfigure 基础HTTTConfigure配置接口BaseHttpStatus 基础HTTP响应状态接口BaseXssConfig 默认XSS过滤配置BaseXssFilter XSSFilter过滤
启动为第一加载顺序
适用于单体架构
如需使用则继承该类BaseXssRequestWrapper XSSFilter包装类BaseXssValid XSS验证BcdUtils BCD码(Binary-Coded Decimal)亦称二进码十进数或二-十进制代码
BCD码这种编码形式利用了四个位元来储存一个十进制的数码,使二进制和十进制之间的转换得以快捷的进行
http://cuisuqiang.iteye.com/blog/1429956BeanContextUtils SpringApplicationContext工具类BinaryStreamResolver 二进制流解析器BinaryUtils 二进制工具类BloomFilter 布隆过滤器BouncyCastleDigestAbstract BouncyCastle摘要算法抽象类
支持分块更新数据,调用BouncyCastleDigestAbstract.update(byte[])累积数据,最后BouncyCastleDigestAbstract.digest()完成计算BouncyCastleSymmetricAbstract 对称算法加密/解密抽象类
默认实现了加密和解密功能
该抽象类提供了对称加密算法的通用操作和方法,子类可以继承此类并根据具体的对称加密算法实现相应的加密和解密逻辑
该抽象类依赖于 Bouncy Castle提供的加密算法库,需要在使用前添加 Bouncy Castle作为加密算法提供者
注意:该类的部分方法参数或字段可能需要根据具体的对称加密算法进行调整和适配
参考文档:Bouncy Castle: https://www.bouncycastle.org/BuffSize 常见缓冲长度ByteReadable 可读转换器Cache<K,V> 本地缓存
默认为弱引用缓存(WeakHashMap)
默认对并发做了处理CacheAbstract<K,V> 缓存抽象类
用于非Cache类使用的抽象类,Cache类单独实现方法,用于作为基本本地缓存
使用重入锁CacheAutoClear 自动清理缓存接口CacheClear 清理缓存接口CacheClearTask<K,V> 时间缓存任务清理CacheFifo<K,V> FIFO缓存
先进先出CacheLfu<K,V> LFU缓存
淘汰最少使用次数CacheLifo<E> LIFO缓存(栈)CacheLru<K,V> CacheLRU
淘汰最久未使用CacheLruK<K,V> CacheLRU-K
淘汰最久未使用
解决LRU算法的缓存污染CacheLruTwoQ<K,V> CacheTwoQ
CacheLRU-2(Two queues 2Q)
历史队列(采用FIFO的淘汰策略)和缓存队列(采用LRU-1的淘汰策略)
新访问的数据插入到FIFO队列
如果数据在FIFO队列中一直没有被再次访问,则最终按照FIFO规则淘汰
如果数据在FIFO队列中被再次访问,则将数据移到LRU队列
如果数据在LRU队列再次被访问,则将数据移到LRU队尾
超出既定长度则 LRU队列淘汰中队头数据CacheObject<V> 缓存对象
用于Timer、LRU、LRU-K、LRU-2Q、LFU、FIFO等缓存CacheProvider 缓存额外基础接口CacheTimer<T> 本地时间缓存
可自定义时间
自定义回收打印日志输出
注意:如果超出最大缓存大小将不会在缓存(0将不限制)CacheTimer.ExpireTime 缓存时间枚举CacheUtils 整合Cache类
其中包含基础cache、弱引用、FIFO、LFU、LIFO、LRU、LRU-K、LRK2等缓存CacheWeak<K,V> 键弱引用缓存CallException 回调异常CallRuntimeException 回调运行异常CharsetCode 字符集编码CheckImport 此工具类用于验证外部导入包
验证是否加载了某个第三方依赖库CheckLibrary 该类用于映射第三方库名与加载第三方类ChineseMoneyFormatUtils 中文金额格式化工具类
金额数字转中文大写ChooseEq 值等同选择器门面,提供两种单匹配模式的人口: 显式比较模式(通过ChooseEq.create()):每次比较需显式传入两个对象,适用于两个值都不固定的场景 固定源模式(通过ChooseEq.create(Object)):固定一个源对象,后续只需传入目标值进行比较ChooseEq.ExplicitSourceChooser 显式比较模式的构建器(由ChooseEq.create()返回)ChooseEq.FixedSourceChooser<T> 固定源模式的构建器(由ChooseEq.create(Object)返回)ChooseFirst<R> 短路顺序选择器
注意:此类非线程安全,仅供单线程使用CipherKeyWarpMode 密钥包装模式枚举类,用于表示密钥包装和解包装的操作模式
WRAP:密钥包装操作模式,用于将密钥包装成加密的密文
UNWRAP:密钥解包操作模式,用于从加密的密文中解包装出原始密钥
密钥包装是一种将密钥进行加密和解密的技术,用于在密钥交换或存储过程中保护密钥的安全性CipherMode 加密器模式枚举类,用于表示加密器的操作模式,包括加密和解密
ENCRYPT:加密操作模式,用于加密数据
DECRYPT:解密操作模式,用于解密数据
加密器模式指定了加密器的具体操作,根据模式的不同,加密器可以用于加密或解密数据ClassConvertUtils 类转换方法ClassTypeUtils 基本数据类型ClassUtils 类工具类ClipboardException 剪切版异常ClipboardUtils 剪切板工具类CollBuilder<T> 集合BuilderCollectorOperatorType 聚合器操作运算符枚举CollUtils 集合工具类ConfigLoader 配置文件加载器
加载配置文件内容等操作
不限外部文件、资源、YML、Properties、INI等ConfigParse<K,V> 抽象类 文件资源解析ConstructorArgsMatchResult 构造函数匹配结果封装类ContentResolverType 参数解析器枚举ContentTypeCategory 请求内容类型,可用于解析器路由ConvertTypeException 转换类型异常CopyConfig CopyConverter 拷贝转换器CopyMapping 拷贝字段映射CopyUtils Bean拷贝工具类CryptoOperation 加密/解密接口
定义了常规加解密方法,支持对称和非对称加密CustomException 自定义异常
用于自定义描述异常,也可作为业务异常或其他异常使用DataDecrypt 数据解密类型DataDecryptTypeEnum 用于接收前端解析时 以什么形式解密DataSize 数据转换长度DataSizeUnit 长度单位枚举
用于转换长度单位使用DataSizeDateParserUtils 日期时间解析工具类DateTimeCompareException 时间日期对比异常DateTimeFormat DateTimeFormat类DateUtils 时间工具类 命名约定: dateTime 相关方法处理年月日时分秒 date 相关方法处理年月日 time 相关方法处理时分秒 数据库映射建议: date →LocalDatetime →LocalTimetimestamp →LocalDateTime方法分类: now 获取当前时间的各种属性或格式化字符串,如DateUtils.now()、DateUtils.nowHour()、DateUtils.nowTimestamp()等 nowRangeOf 获取当前时间附近的连续时间范围,如DateUtils.nowRangeOfHours()、DateUtils.nowRangeOfDays(int)、DateUtils.nowRangeOfMonths()convert 时间单位转换,包括DateUtils.convertTime(long, TimeUnit, TimeUnit)和按单位细分的便捷方法(如DateUtils.convertHoursToMinutes(long)) format 日期时间格式化,支持字符串解析和格式转换,如DateUtils.formatDateTime(String, String)、DateUtils.formatDate(String, String)、DateUtils.formatTime(String, String)findMissingDateOfMonth:找出指定月份内缺失的日期 elapsed 获取从当天开始到当前时间已过去的时间值,如DateUtils.elapsedMinutesOfDay()、DateUtils.elapsedSecondsOfDay()、DateUtils.elapsedMillisOfDay()remaining 计算从当前时间到某个时间点的剩余毫秒数,如DateUtils.remainingMillis(LocalDateTime)、DateUtils.remainingMillisOfDay()()}、DateUtils.remainingMillisOfMonth()()} isExpired 判断时间戳是否已超过指定时长,如DateUtils.isExpired(long, long, TimeUnit)、DateUtils.isExpiredMinutes(long, long)等 isLeapYear:判断闰年(支持无参、字符串、年份) isWorkDay:判断当前是否为工作日(周一至周五) age:计算年龄(周岁) compare 比较两个时间对象(LocalDateTime/LocalDate/LocalTime),返回 -1/0/1 compareNow 比较当前时间与指定时间对象 compareDateTime/compareDate/compareTime:比较字符串格式的日期时间/日期/时间(支持自定义格式) offset 对时间对象进行偏移(增加/减少指定单位),返回新的时间对象或格式化字符串 offsetNow 基于当前时间的偏移便捷方法,支持秒、分钟、小时、天、周、月、年等 offsetDateTime/offsetDate/offsetTime:基于字符串的偏移,自动解析常见格式 diff 计算两个时间之间的差值,支持毫秒、秒、分钟、小时、天、周、月、年等,返回 long 或 int diffPeriod:返回Period对象,包含年、月、日差值 diffWorkDays:计算两个日期之间的工作日天数(排除周末) isInRange 判断目标时间/日期/日期时间是否在指定的闭区间内(包含边界),支持对象和字符串 isDateInRange / isTimeInRange:字符串的日期/时间区间判断 isNowInRange / isNowDateInRange / isNowHourInRange:基于当前时间的区间判断(左边界为当前时间) isSameDay / isSameMonth / isSameYear:判断两个日期是否在同一日/月/年 isToday / isYesterday / isTomorrow:判断是否是今天/昨天/明天 isThisWeek / isThisMonth / isThisYear:判断是否在当前周/月/年 isBirthday:判断今天是否是生日 isPast / isFuture:判断时间是否在过去/未来(支持对象和字符串) startOfDay / startOfWeek / startOfMonth / startOfQuarter / startOfYear:获取指定日期/时间的开始时刻(00:00:00),支持当前时间、字符串、对象 endOfDay / endOfWeek / endOfMonth / endOfQuarter / endOfYear:获取指定日期/时间的结束时刻(23:59:59.999999999),支持当前时间、字符串、对象 dayOfWeek:获取星期几的数字表示(1=周一,7=周日) weekOfYear:获取日期在一年中的周数(ISO标准) firstDayOfWeek / lastDayOfWeek:获取所在周的周一/周日(返回纯日期) nextDayOfWeek / previousDayOfWeek:获取下一个/上一个指定星期几 nextWorkDay:获取指定日期之后的下一个工作日(支持字符串和 LocalDate) previousMonthFirstDay / previousMonthLastDay:获取上个月的第一天/最后一天 truncateToSecond / truncateToMinute / truncateToHour / truncateToDay / truncateToMonth / truncateToYear:将日期时间字符串截断到指定精度 formatPeriod / formatDuration:将Period或Duration格式化为中文描述字符串 formatHumanize / formatDateHumanize:人性化时间描述(如“刚刚”、“5分钟前”、“昨天”等) nextBirthdayOfDay:计算距离下次生日还有多少天DefaultResultFieldMapping ResultVO返回字段映射的默认实现DefaultResultMessage 默认提供响应消息状态码DES DES对称加密算法
提供了DES加密和解密的功能
可自定义key、iv、分组模式、填充模式等等来完成创建不同的DES实例DESede DESede是Triple DES算法的实现
DESede算法是对称加密算法,使用密钥长度为192位(24字节)
DESede可以分为两种模式:ECB模式和CBC模式
ECB模式是最简单的块密码模式,对每个数据块使用相同的密钥进行加密,容易受到字典攻击的影响,不推荐使用
CBC模式是加密块链模式,使用前一个密文块作为下一个数据块的加密初始向量,提高了安全性
默认使用DESede/ECB/PKCS5Padding算法,密钥长度为192位
使用随机生成的密钥和向量,可以通过构造函数自定义密钥和向量
注意密钥长度必须为192位,如果使用CBC向量必须使用64位长度密钥Desensitize 脱敏字段注解DesensitizeException 脱敏异常DesensitizeObject 脱敏对象注解DesensitizeRule 脱敏规则接口,实现该接口可以自行定义脱敏规则DesensitizeType 脱敏类型DesensitizeUtils 脱敏工具类Dev 测试使用LogDigest 摘要接口
定义了对摘要的基本方法DigestAbstract DigestException 摘要异常DigestType 消息摘要类型DigestUtils 摘要工具类
整合了MD5、SHA、HMAC、SM3摘要算法的工具类
使用该工具类可以方便地构建不同类型的摘要实例,并进行摘要计算
支持的摘要算法包括:
MD5
SHA1、SHA224、SHA256、SHA384、SHA512、SHA3-224
SHA3-256、SHA3-384、SHA3-512
HMAC-MD5、HMAC-SHA1、HMAC-SHA224、HMAC-SHA256、HMAC-SHA384、HMAC-SHA512
SM3DigestVerify 签名摘要对比接口
定义验证摘要等ECKeyUtils EC密钥相关工具类EmailDesensitizeRule 电子邮箱脱敏规则
@前小于等于4位的,隐藏第1位;大于4位的,保留前3位;等于4位保留开始1位,其余用*代替;
yyk@163.com/*yk@163.com;
13901234567@139.com/139********@139.comEmpty 用于返回空属性EncodeException 编码异常EnterpriseNameDesensitizeRule 企业名称脱敏规则(按长度分阶梯保留:
长度 2 个字的,首位保留 1 个字、
长度 4 个字及以下的,首尾各保留 1 个字、
长度 5-6 个字的,首尾各保留 2 个字、
长度 7 个字及以上奇数,隐去中间 3 个字;
长度 8 个字及以上偶数,隐去中间 4 个字,隐藏字用 * 代替)
示例:临沂大学/临 ** 学;山西临汾酒厂/山西 ** 酒厂;青岛金星化工厂/青岛 *** 工厂;青岛金龙印染有限公司/青岛金 **** 限公司Eq equals整合方法ExecutorProvider 执行器提供者ExplicitChooseEq<T,R> 显式比较模式的值等同选择器(包级私有,不直接实例化)FastJson2Provider 基于Fastjson2实现FastJson2RedisSerializerAdapter 基于FastJson2序列化/反序列化FastJsonProvider 基于Fastjson实现
支持任意日期时间格式(纳秒等)FastJsonRedisSerializerAdapter 基于FastJson序列化/反序列化FieldCache 反射字段缓存FieldCacheKey 字段Key缓存
用于替代字符串键FieldCacheObject 反射字段缓存对象
可作为静态变量线程安全FieldProvider 字段元数据提供者FileArchiveUtils 文件归档FileCheck 文件检查器FileDeleteException 文件删除异常FileIOUtils 文件流操作相关工具类FileMatchType 文件类型匹配
用于文件搜索等FileUtils 文件工具类FileWatcher 文件变动监听器(基于 WatchService)FileWebUtils Web文件下载工具类FileWriteMode 文件写入模式FixedChooseEq<T,R> 固定源模式的值等同选择器(包级私有,不直接实例化)FormDataFileResource FormData文件资源
便于文件传输
在实体类字段中可以使用此类型,方便用于byte[]没有来源文件名称问题FormDataResolver FormData对象解析FormResolver Form解析器Ftp 创建FTPFtpCommand 命令对象
目前用于描述命令状态等信息FtpCommandDirectory 获取目录读取以及文件对象FtpCommandDirectoryFile FTP文件相关接口FtpCommandDirectoryPath 目录相关指令FtpCommandExecutor FTP命令器FtpCommandFileExecutor FTP文件操作相关FtpConfig FTP配置FtpConfigException FTP装配异常FtpConfigureHandler 配置执行装配FtpConnection FTP连接客户端FtpConnectionException FTP连接异常FtpConnectMode FTP连接方式FtpDeleteException FTP删除异常FtpDownloadException FTP下载异常FtpException FTP异常FtpFileException FTP文件异常FtpPathException FTP目录地址异常FtpStatus FTP状态FtpUploadException FTP上传异常FuncCall<R> 函数回调FuncCollectionExecute<E> 用于函数执行exec方法FuncEq<A,B> 对比方法FuncExecute 执行函数FuncFilter<T> Filter函数FuncFind<T> Find方法FuncFor<T> 数组遍历FuncForIndex<T> 数组遍历FuncGet<T,R> 用于数据流获取单个值FuncGroupBy<T,K> 分组函数FuncIterator<K,V> 迭代器K,VFuncIterator2<K,V> 迭代器K,V无迭代器FuncIteratorBreak<K,V> 迭代器K,VFuncIteratorBreak2<K,V> 迭代器K,V无迭代器FuncIteratorE<E> 迭代器ElementFuncIteratorEBreak<E> 迭代器ElementFuncIteratorK<K> 迭代器KeyFuncIteratorK2<K> KEY迭代(不包含迭代器)FuncIteratorKBreak<K> 迭代器KeyFuncIteratorResultE<E,R> 迭代器Element
可返回结果FuncIteratorV<V> 迭代器Value
不包含迭代器FuncIteratorV2<V> 迭代器Value
包含迭代器FuncIteratorVBreak<V> 迭代器ValueFuncLock 锁接口FuncLockResult<V> 锁接口
将有返回值FuncLoop<T> 循环遍历函数FuncLoopIndex<T> 循环遍历函数
增加返回当前索引FuncMapExecute<K,V> 用于函数执行exec方法FuncPage<T> 数据分页GetResolver GET解析器HashUtils Hash工具类HexUtils 16进制工具类HMac HMac(消息认证码)摘要算法
支持常用的HMac摘要算法
可以生成HMac摘要值,并提供相关操作方法
包括自动生成密钥、获取密钥以字节形式返回、获取消息认证码(MAC)的长度等
默认使用HMacSHA256摘要算法
可通过getKey()方法获取密钥
可通过getKeyBytes()方法获取字节密钥
可通过getMacLength()方法获取消息认证码(MAC)的长度HttpAuth HTTP请求认证抽象类HttpAuthBasic Basic请求认证HttpAuthBearer Bearer认证协议HttpAuthCustom 基础认证形式,Key-Value形式
自定义认证HttpAuthProtocol HTTP请求认证协议HttpBody 请求体、返回体BodyHttpBodyCast 提供一些对HttpBody强转方法
HttpBody强转父类HttpBodyFormat HTTP请求体格式化HttpBodyFormDataParse HTTPBody请求体解析
multipart/form-data表单请求HttpBodyFormParse HTTPBody请求体解析
FORM表单格式请求HttpBodyJsonParse HTTPBody请求体解析
JSON格式请求HttpBodyNoneParse HTTP无请求体实现HttpBodyParse HTTPBody请求体/响应体解析
根据实现HttpBodyParseStrategy接口来定义解析类型HttpBodyParseContext HttpBody解析,根据请求/响应类型使用不同的解析器HttpBodyParseException HTTP请求体解析相关异常HttpBodyType HTTP请求体/响应体类型枚举
用于标识HTTP请求的数据格式HttpClientBuilder HTTP构建器HttpClientException HTTP客户端相关异常HttpClientFactory HTTP工厂类HttpClientProvider HTTP客户端提供者HttpClientType HTTP客户端类型枚举HttpClientWatchTimer HTTP客户端耗时监控HttpConfig HTTP-客户端配置HttpConfigException HTTP配置相关异常HttpConnectionConfigureChain HTTP配置拦截器,装配实现对HTTP连接配置处理HttpConnectionException HTTP链接相关异常HttpContentLengthConfigureChain HTTP配置拦截器,装配实现对HTTP请求长度处理HttpContentType 请求类型枚举
列举了常见的 HTTP Content-TypeHttpContentTypeConfigureChain HTTP配置拦截器,装配实现对HTTP请求体媒体类型处理HttpErrorInputStream HTTP错误输入流HttpException HTTP相关异常HttpExecutor HTTP执行器
如果需要实现一些请求前或请求后的操作可添加HttpInterceptor类HttpHeader<V> HTTP-HeaderHttpHeaderConfigureChain HTTP配置拦截器,装配实现对HTTP请求头处理HttpHeaderType HTTP请求/响应头类型枚举 提供标准化的HTTP头部字段常量HttpInputStream 自定义输入流HttpInterceptor HTTP拦截器接口
再请求前和HTTP响应后进行拦截处理
如果需要使用HTTP拦截器请额外实现继承或该接口HttpInterceptorChain HTTP拦截器链父类,用于拦截HTTP请求或响应
责任链模式,按顺序执行所有的拦截器,依次对请求和响应进行处理HttpInterceptorContext 拦截器上下文,用于在请求/响应过程中传递数据
该上下文对象会在每个请求开始前创建HttpLog HTTP日志输出HttpMethod HttpRequest方法HttpOkInputStream HTTP成功输入流HttpParamUtils HTTP参数构建工具类HttpRequest HTTP请求对象HttpRequestBodyCast 提供一些请求参数解析后的转换方法HttpRequestBodyChain HTTP配置拦截器,装配实现对HTTP在请求前对请求体进行参数处理
将会开启HTTPClient连接HttpRequestHeader HTTP请求头HttpRequestInterceptor HTTP请求拦截器(参数解析后)
实现该接口能够在HTTP请求之前进行处理但参数已经解析了
如果使用的是Restful风格或者QueryParam方式请使用HttpRequestPreInterceptorChain,因为即使修改了请求体,也不会再次刷新URL资源
支持函数式HttpRequestInterceptorChain HTTP请求拦截器责任链,按照顺序执行HTTP请求拦截器
在HTTP请求发送前执行HttpRequestPreBodyCast 提供一些请求参数解析前的转换方法HttpRequestPreInterceptor HTTP请求拦截器(参数解析前)
实现该接口能够在HTTP请求参数解析之前进行处理
支持函数式HttpRequestPreInterceptorChain HTTP请求拦截器责任链,按照顺序执行HTTP请求拦截器
在HTTP参数解析前执行HttpResponse HTTP请求响应体
自动关闭客户端及相关流HttpResponseException HTTP请求响应相关异常HttpResponseHeader HTTP响应头
如果遇到多个参数则用 ; 分割HttpResponseInputStream 响应流类型HttpResponseInterceptor HTTP请求拦截器接口
实现该接口能够在HTTP响应之后进行处理
支持函数式HttpResponseInterceptorChain HTTP响应拦截器责任链,按照顺序执行HTTP响应拦截器HttpStatus 默认实现HTTP响应状态HttpStatusException HTTP响应状态相关异常HttpStatusType Http状态枚举
分为5类,1xx、2xx、3xx、4xx、5xx,每类下面又有若干个具体的状态码HttpStreamException HTTP流相关异常HttpUrl HTTP请求地址对象HttpUrlConnectionProvider HTTP客户端
目前基于HttpURLConnection实现IdcardDesensitizeRule 身份证脱敏规则
18位数字,6位地区编号+8位出生日期+4位序号
保留前6位和最后4位
15位数字,6位地区编号+6位出生日期+3位序号
保留前6位和最后3位IdcardUtils 身份证工具类IdcardValidException 身份证校验异常IdUtils ID工具类ImageQrCodeUtils 生成二维码ImageUtils 图片工具类InitKeyPairException 对称加密/解密异常InitLoadClass 初始化Bean加载器InitLoadClassBean 初始化加载类InitLoadException 初始化加载异常InitPrivateKeyException 对称加密/解密异常InitPublicKeyException 对称加密/解密异常InstanceException 实例化异常IOCloseErrorException IO关闭异常IORuntimeException IO运行时异常IOUtils IO流工具类IpAddrException IP地址相关异常IpUtils 获取IP地址 #mark 梳理重构Ipv4DesensitizeRule IPv4地址脱敏(等保2.0三级合规)依据(GB/T 22239-2019) 第三级安全审计要求
保留前三段,最后一段用等长的 "*" 替换(例如 192.168.1.50 → "192.168.1.**",192.168.1.210→"192.168.1.***")
满足等保三级对主机位不可逆的要求
非法格式原样返回Ipv6DesensitizeRule IPv6地址脱敏IteratorUtils 迭代器JacksonProvider 基于Jackson(2.x)实现
如需自定义ObjectMapper,可重写JacksonProvider.getMapper()()} 方法JacksonRedisSerializerAdapter 基于Jackson序列化/反序列化JacksonResultFieldMapping ResultVO-Jackson属性命名策略JacksonResultFieldMappingConfig ResultVO返回字段名映射自动配置类JdkDigestAbstract 使用JDK默认自带摘要算法
支持分块更新,调用JdkDigestAbstract.update(byte[])累积数据,最后通过JdkDigestAbstract.digest()完成计算
非线程安全类,每个线程需使用独立的实例JdkHttpURLConnection HTTP客户端
目前基于HttpURLConnection实现JdkInfo JDK信息JsonException JSON处理异常,用于包装所有JSON库抛出的原始异常JsonProvider JsonRedisSerializer<T> Redis-JSON序列化器
优先级:fastjson2 → jackson → fastjson1
支持全局安全白名单JsonResolver JSON解析器JsonUtils JSON工具类集合,所有方法委托给底层JsonProvider
自动检测JSON库,检测优先级(fastjson2 > jackson > fastjson1)
如果指定provider请使用JsonUtils.setProvider(JsonProvider)JvmHeapMemory JVM虚拟机堆的内存使用情况JvmMemory JVM内存信息JvmNonHeapMemory JVM虚拟机非堆的内存使用情况JwtException JWT异常JwtObject Jwt存放信息对象JwtUtils JWT签名 #mark 重构KeyUtils 生成密钥工具类(对称/非对称)
按照强随机数生成器生成LoadErrorException 加载异常LockExecutor 锁执行器接口,统一锁操作LockExecutors 锁执行器工厂,提供创建、缓存及静态便捷方法(自动获取锁及释放锁)
此类封装了一些锁操作,用于在特定范围内获取锁,可以在锁的保护范围内执行特定的操作,并确保在退出该范围时释放锁Log 日志处理
当前只支持SLF4JLogLevel 日志等级枚举MapBuilder<K,V> MapBuilderMapBuilder.Builder<K,V> 建造类MapUtils Map工具类MD5 MD5摘要类MethodInvokeException Invoke异常MethodInvoker MethodInvoker.builder(Abc.class, "abc").setParamTypes(1).setCallParams(1, "99").build();NotFoundException 未找到异常
适用性比较广泛Num 数值计算器
严格按调用顺序计算的链式
表达式和结果均按左结合顺序生成,不处理数学优先级
所有计算过程保留8位精度,取舍模式为银行家舍入(四舍六入五取偶法,HALF_EVEN)模式 例如:Num.of(1).add(2).mul(3) 表达式为 "1 + 2 * 3",结果为 9 Num a = Num.of(1).add(2).mul(3); // 表达式: 1 + 2 * 3, 结果: 9 Num b = Num.of(1).add(Num.val(2).mul(3)); // 表达式: 1 + (2 * 3), 结果: DEFAULT_CALC_SCALENumCollector 数值收集器,用于收集多个 Num 对象并执行聚合操作(求和、平均、最大、最小)
支持链式添加,最终返回带表达式的 Num 对象ObjectUtils 对象工具类OperatorType 操作运算符枚举PaddingException 数据填充异常Pager 分页对象PagerPostProcessor 分页参数解析器ParameterResolverFactory 请求参数解析工厂类ParseException 解析异常都能使用此类PathVariablePostProcessor REST路径变量解析器(用于 @PathVariable)PBE PBE(Password-Based Encryption基于密码的加密)类继承自BouncyCastleSymmetricAbstract
提供了使用基于密码的加密算法进行对称加密和解密的功能
在默认情况下,会使用一个随机的128位密码和一个随机的128位盐值,并使用默认的迭代次数100,以及PBEWITHSHAAND128BITAES-CBC-BC算法
想要获取初始化密钥或者盐值请使用BouncyCastleSymmetricAbstract.getPassword()、BouncyCastleSymmetricAbstract.getSalt()PBEAlgorithms PBE算法枚举(目前支持Bouncy Castle 1.60以上版本)
Bouncy Castle版本可能会随着更新而改变,建议查看具体版本支持的算法
在不同版本中可能支持的算法会有所不同PhoneDesensitizeRule 手机号码脱敏规则
保留前3位和最后4位,其余用*代替
13811547561/138*****7561
固定电话脱敏规则
区号+3-4位区域信息+4位流水号
区号不隐藏,7-8位电话号码保留最后3位,其余用*代替
0531-83590115/0531-*****115PropertiesParse 普通文件键值对解析类
properties等:"、"=键值对解析PropertiesUtils 读取配置文件相关工具类RandomCodeUtils 随机生成工具RandomNameUtils 创建随机姓名RandomUtils 随机数工具类,提供常用随机数生成方法
支持使用线程本地随机数和安全随机数
可生成不同范围的随机数和随机字节数组
适用于加密、安全、测试数据生成等场景RangeUtils 包含范围值选择工具类ReadLineIterator 行迭代器,提供对文本文件或Reader逐行遍历ReadWriteLockExecutor 基于ReentrantReadWriteLock锁执行器RedisApi Redis基础ApiRedisBigMap BigMap(位图)结构RedisConfiguration Redis配置RedisDataType Redis数据类型(支持5.0以上)RedisException Redis自定义异常RedisGeo Geo(地理位置)RedisHash Hash数据类型RedisHyperLogLog HyperLogLog(基数统计)RedisKeyAppender RedisKey填充类RedisKeyBuilder<V extends AbstractRedis> RedisKey构建 #mark构建多值key,构建无key值使用默认值RedisKeyConfig RedisKey配置RedisKeyLoader RedisKey加载器RedisKeyRegisterListener RedisKey自动注册监听器RedisKeyRegistry RedisKey注册器RedisList List(双向链表)RedisPubSub Pub/Sub(发布订阅)RedisScript Script(Lua 脚本)RedisSerializerAdapter Redis-JSON序列化/反序列化适配器接口RedisSerializerException Redis序列化/反序列化相关异常RedisSet Set(无序集合)RedisStream Stream(消息流,Redis 5.0+)RedisString String结构RedisSystem Redis系统命令RedisZset ZSet(有序集合)ReentrantLockExecutor 基于ReentrantLock锁执行器ReflectionCache 反射缓存类ReflectionException 反射异常ReflectionUtils 反射工具类RefreshRequestWrapper 重写HttpRequestRegexUtils 正则表达式验证工具类RegisterRedisKey RedisKey注解,用于标记静态Redis字段便于加载RequestAuthResolver 认证属性解析器,负责将请求中的认证信息提取并设置到HttpServletRequest属性中RequestContentResolver 请求内容解析器类型RequestDataType 请求数据类型RequestHeader 存放Header对象RequestParameterContext 请求参数解析的元数据上下文
封装了当前请求的 Servlet 对象、Content-Type 类别、数据类型标记RequestParameterResolver<T> 解析器类型RequestParameterResolver 请求参数解析器RequestPostProcessor 请求对象后置处理器RequestResolverConfiguration 请求参数解析器自动配置RequestVo 请求参数解析对象注解RequestVO 通用请求参数对象
支持Pager(分页参数)、FORM表单、JSON、文件上传、XML等RequestVOResolver 封装RequestVO请求对象解析器ResourceType 资源加载类型包含(前缀、文件协议、特殊文件分隔符)ResourceUtils 资源加载和路径获取等相关工具类ResultFieldMapping ResultVO返回字段名自定义接口
外部可通过实现此接口并注册为SpringBean来自定义序列化字段名
若容器中不存在该接口的实现,则使用默认字段名ResultFieldMappingHolder ResultVO字段映射持有器ResultMessage<C> 自定义处理响应状态消息接口ResultVO<T> 通用返回对象
该类用于封装通用的返回结果,包含返回状态码、返回消息、数据和分页信息RSA RSA非对称加密
RSA公钥/私钥/签名加密解密
默认实现了加解密方式RSAAsymmetricAbstract 非对称算法加密/解密抽象类
默认实现了加密和解密功能
该抽象类提供了对称加密算法的通用操作和方法,子类可以继承此类并根据具体的非对称加密算法实现相应的加密和解密逻辑
该抽象类依赖于 Bouncy Castle提供的加密算法库,如果无BC依赖时自动降级为JDK实现
注意:该类的部分方法参数或字段可能需要根据具体的对称加密算法进行调整和适配
参考文档:Bouncy Castle: ...
线程安全类
实现OAEPPadding算法的块计算RuntimeIoException 运行时IO异常SerializationException 序列化/反序列化异常ServletBeanUtils HttpServletBeanServletUtils Servlet相关SHA SHA3 SingletonKey 单例工具缓存键,通过目标类型与构造参数唯一标识一个单例实例SingletonUtils 单例工具类Sleep 线程睡眠SM2 SM2非对称国密算法(该类实现了SM2的加密、解密、签名和验证功能)SM2AsymmetricAbstract SM2国密算法抽象类
默认算法为C1C3C2,默认曲线sm2p256v1
需要依赖BouncyCastleProvider库
C1:表示椭圆曲线上的一个点,用于进行签名或者加密过程中的一些运算
C2:表示加密的结果,即加密后的数据
C3:表示对数据的签名值,用于验证数据的完整性,不是加密过程中的一部分
线程安全类SM2Mode 用于SM2加解密模式枚举类
主要为了避免重名SM3 SM3摘要(国密算法)
采用BouncyCastle开源库实现SM4 SM4对称加密算法
提供了SM4加密和解密的功能
可自定义key、iv、分组模式、填充模式等等来完成创建不同的DES实例Sort 排序标识SpiUtils SPI工具类StackUtils 堆栈工具类StampedLockExecutor 基于StampedLock锁执行器(不可重入)StreamCopyException 流拷贝相关异常
包含IO流、文件流等StreamException 流相关异常
包含IO流、文件流等StreamReadException 流读取相关异常
包含IO流、文件流等StreamWriteException 流写入相关异常
包含IO流、文件流等StrEncodeUtils 字符串编码与解码工具类 字符集编码/解码:将字符串与字节数组在指定字符集间转换,以及字符集转码 URL 编码/解码:对字符串进行百分号编码(application/x-www-form-urlencoded) Unicode 转义:将字符串转义为Unicode形式或反向还原 所有方法均抛出EncodeException运行时异常(当字符集不支持或参数非法时)StrEscapeUtils 字符转义工具类StringMasking 字符串脱敏类StringUtils String工具类SymmetricAbstract 对称算法加密/解密抽象类
默认实现基本功能SymmetricEncode 对称加密编码接口
包含密钥,向量,盐值等SymmetricException 对称加密/解密异常SymmetricType 对称加密类型算法类型枚举SystemDisk 系统磁盘信息SystemInfo 系统信息SystemUtils JDK/系统工具类SysUser 系统用户信息TextResolver 文本解析ThreadSleepException 线程睡眠异常TimeSlot 时间段TimeSlotUtils 时间段工具类TimeWatch 运行计时器
支持嵌套分组和树形打印
非线程安全类TimeWatchNode 计时器子节点TreeAlias 树结构属性别名TreeId 树结构属性TreeParentId 树结构指定父idTreeUtils 树工具类TypeReference<T> 通用的类型引用,用于传递泛型类型信息(例如List<Map<String, Object>>)
具体JSON处理器需将其转换为各自库的等价类UnknownTypeException 未知类型异常UnPaddingException 数据去除填充异常UnstructuredAddressDesensitizeRule 联系人地址、法人地址、增值税注册地址(非结构化)
格式不固定,为不定长的字符串
按长度分阶梯保留:长度5个字及以下的,保留第1个字和最后2个字;
长度6-9个字的,保留最后5个字;
长度为10个字及以上的,隐去最后5个字之前的4个字;隐藏字用*代替
南街胡同口/南**同口,城中区立交桥下/**区立交桥下,
汉东省江北市郊西县东城镇南吉村委会北首/汉东省江北市郊西县东****村委会北首UriFilterConfig 放行策略UserNameDesensitizeRule 用户姓名脱敏规则
3个字以内隐藏第 1 个字,
4-6个字只保留最后 2 个字,
大于6个字隐藏第 3-6 个字,
隐藏字用 * 代替;对于姓名用 “ · ” 分为多部分的情况,每部分均采用上述规则进行脱敏)
示例:张三/*三; 李二宝/*二宝; 欧阳正华/**正华; 阿布都沙拉木图/阿布****图ValidClassConstant 校验常量是否有效ValidConstant 验证有效常量ValidParam 参数验证工具类WebFile 基于MultipartFile实现XmlConvertException 用于表示XML转换异常XmlResolver XML文本解析XStreamCDATA XStreamCDATA注解XStreamFactory XStream自定义注解 用于解析<![CDATA[]]>XStreamUtils 基于Xstream的工具类YamlParse YML文件解析类
针对YML文件进行解析ZipCompressException ZIP压缩异常ZipDecompressException ZIP解压异常ZipType ZIP压缩方式ZipUtils 数据压缩ZodiacUtils 星座工具类