HashIds 编码/解码
整数数组编码
输入数据
支持多个非负整数,用逗号或空格分隔
转换模式
编码配置
用于确保编码唯一性和安全性,建议设置
生成的哈希字符串最小长度(0 表示无限制)
留空使用默认字符集(a-zA-Z0-9)
ID 混淆
HashIds 可以将数字 ID 转换为短字符串,隐藏真实 ID,常用于 URL、API 等场景
💡 使用说明
什么是 HashIds?
HashIds 是一个小型库,可以将数字(如 ID)转换为短字符串(如 YouTube 的视频 ID)。它不是加密算法,主要用于混淆 ID,使其不易猜测。
为什么使用 HashIds?
- 隐藏真实 ID:防止用户通过 ID 推测数据量
- 简短美观:生成的字符串简洁易读
- URL 友好:可直接用于 URL,无需编码
- 可逆转换:可以解码回原始数字
应用场景
- URL 短链接(隐藏 ID)
- API 接口(混淆资源 ID)
- 订单号生成(隐藏顺序编号)
- 分享链接(避免 ID 泄露)
关键特性
- 盐值(Salt):相同的数字使用不同的盐值会生成不同的哈希
- 最小长度:确保生成的哈希至少有指定长度
- 自定义字符集:可以自定义使用的字符
- 可逆转换:使用相同配置可以解码回原始数字
安全说明
- HashIds 不是加密算法,不应用于安全敏感场景
- 主要用于混淆和美化 ID,而非加密
- 盐值应该保密,防止他人轻易解码
- 如需真正的加密,请使用专门的加密算法
注意事项
- 编码和解码必须使用相同的盐值、最小长度和字符集
- 只能编码非负整数(0 及以上)
- 相同的输入和配置总是生成相同的输出
- 建议在生产环境中设置唯一的盐值
转换结果
4V8E9pAJza
输入数字数量1
输出长度10
最小长度10
使用盐值✓
自定义字符集✗
字符分析
小写3
大写4
数字3
其他0
当前配置
盐值(Salt)
secret-key最小长度
10自定义字符集(可选)
(默认)解码时必须使用完全相同的配置
转换详情
输入数字
999↓ 编码
输出哈希
4V8E9pAJza