Skip to content

Time-based short random ID / 基于时间的短随机标识符

License

Notifications You must be signed in to change notification settings

errubec/Random-ID-Generator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 

Repository files navigation

Random ID Generator 随机ID生成器

基于系统当前时间生成一个短小的伪随机ID,每秒刷新31.25次。主要适用于办公或学习时需要打随机标识符,而UUID又太长不方便的场景。

算法

  1. 生成当前精确到毫秒的Unix时间戳(从UTC时间1970年1月1日0时起到现在为止的毫秒数)
  2. 将时间戳除以64并取整(直接丢弃小数位),得到一个每秒刷新31.25次的偶数
  3. 将该偶数减1得到一个奇数(奇数10进制下最后一位不会为0)
  4. 将所得奇数按10进制转换成字符串并倒序(所得字符串不以0开头)
  5. 将所得字符串按10进制转换为整数
  6. 将所得整数按36进制转换回字符串
  7. 返回所得结果

源代码

本仓库提供了JavaScript和Rust的两种实现,分别放在JavaScript.js文件中以及Rust文件夹下。

About

Time-based short random ID / 基于时间的短随机标识符

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published