开发基础
开发基础笔记
mybatis-plus通用的service方法
通过jenkins配置前后端自动打包及发布
mybatis-plus实现分页的方式
Java极客技术公众号PDF
狂神说SpringBoot
Hashids java 版使用
SpringBoot
1、Web快速开发
2、结果集的封装
3、集成MyBatis实现数据库操作
4、Springboot @Validated参数校验
5、SpringBoot全局异常处理
6、拦截器HandlerInterceptor
7、集成Swagger实现API自动生成
8、集成knife4j实现API自动生成
9、Springboot集成MyBatis-Plus快速入门
10、springboot自定义注解及AOP切面使用
11、使用Shiro实现登陆和权限认证,基于MyBatis
12、集成SpringSecurity实现授权认证
13、SpringBoot集成EasyExcel实现数据导入与导出
14、Spring Task定时任务的实现
15、Quartz快速上手与实践
16、如何用代码实现Spring IOC
17、SpringBoot集成JWT,实现接口的鉴权交互
SpringCloud
Nacos作为服务注册中心
seata1.6.1 结合springcloud实现分布锁的技术笔记
一些技术博客推荐
前端面试相关
看这一篇就够了
java.util包常用的类和接口
CountDownLatch介绍与使用
Common-lang3使用入门
Hutool简单使用入门
lombok 介绍及基本使用方法
git项目统计成员代码行数和提交的次数
mysql 逗号分隔的数据 like查询
使用sonar进行代码质量检查
线上使用jmeter进行压测的时候,使用Arthas诊断工具排查响应慢的接口
php结合phpstudy8、vscode开启xdebug进行代码调试
node-red使用入门
分享两个好用的vba宏,用于批量处理word中的表格
本文档使用 MrDoc 发布
-
+
首页
Hashids java 版使用
在软件开发中 id 通常为 int 或者 long 类型,有时会有混淆 id 的需求,比如反爬虫。[Hashids](https://hashids.org/) 是一个小型的开源库,可以将数字或者十六进制字符串转换成唯一的、非顺序的 id。 # 使用 ## 添加依赖 ```xml <dependency> <groupId>org.hashids</groupId> <artifactId>hashids</artifactId> <version>1.0.3</version> </dependency> ``` ## 编码一个数字 ```java Hashids hashids = new Hashids("this is my salt"); String hash = hashids.encode(12345L); // 结果:NkK9 ``` ## 解码一个数字 ```java Hashids hashids = new Hashids("this is my salt"); long[] numbers = hashids.decode("NkK9"); ``` ## 编码几个数字 ```java Hashids hashids = new Hashids("this is my salt"); String hash = hashids.encode(683L, 94108L, 123L, 5L); // 结果:aBMswoO2UB3Sj ``` ## 指定编码结果的最小长度 ```java Hashids hashids = new Hashids("this is my salt", 8); String hash = hashids.encode(1L); // 结果:gB0NV05e ``` ## 指定编码结果使用的字母表 ```java Hashids hashids = new Hashids("this is my salt", 0, "0123456789abcdef"); String hash = hashids.encode(1234567L); // 结果:b332db5 ``` ## 编码十六进制字符串 ```java Hashids hashids = new Hashids("This is my salt"); String hash = hashids.encodeHex("507f1f77bcf86cd799439011"); // 结果:goMYDnAezwurPKWKKxL2 ``` ## 解码十六进制字符串 ```java Hashids hashids = new Hashids("This is my salt"); String objectId = hashids.decodeHex(hash); ``` # 注意事项 Java 版本是基于 JS 版本实现,因为 JS 对数字的范围限制是 2^53 - 1 (9007199254740991),为了保持兼容,Java 版本也保留了此限制,如果大于此数字将抛出 IllegalArgumentException 异常。 如果想要编码大于 9007199254740991 的数字可以使用编码十六进制字符串的方法。
superadmin
2023年10月12日 22:11
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码