输入文本或拖拽文件,批量生成UUID并计算MD5、SHA-256等哈希值。纯本地运行,数据不上传,保护隐私。
数据库分库分表后,自增ID会撞车,你需要一个全局不重复的标识符——这就是UUID要解决的事。下载了一个安装包,想确认它没被篡改过,你需要算一下它的哈希值再和官方公布的对比——这就是Hash的用途。两者看似都在「生成一串字符」,但本质完全不同:UUID是给你一个独一无二的身份编号,Hash是给你一段数据的数字指纹。本工具把这两个常用功能合在一起,省得来回切换网站。
微服务架构里给每个请求分配一个UUID做链路追踪,日志里通过这个ID就能串起整条调用链。数据库设计时用UUID替代自增主键,方便后续分表或数据迁移。从网上下载了大文件,拖进来算个SHA-256,和发布方公布的校验值比对一下,确认没被中间人篡改。做接口签名时用SHA-256对请求参数做摘要,防止参数被篡改。
生成UUID:切换到UUID标签页,选择v4或v1,设置生成数量,按需勾选格式选项,点生成即可。每条UUID旁边有单独的复制按钮,也可以一次全部复制。计算Hash:切到Hash标签页,在输入框里输入文本,点计算即可同时得到四种哈希结果。计算文件Hash:直接把文件拖到虚线框区域,工具会读取文件内容并算出哈希值,大文件可能需要几秒。
v1的生成依据是当前时间戳和设备MAC地址(或随机节点标识),所以同一段时间内生成的v1 UUID天然带先后顺序,适合日志、审计这类需要按时间排列的场景。v4完全靠随机数生成,不含任何设备或时间信息,隐私上更安全,也是目前业界用得最多的版本。如果你不确定选哪个,选v4就对了。
UUID v4总共128位,其中6位是版本和变体标识,剩下122位是纯随机数。根据生日悖论计算,需要生成大约2.7乘10的18次方个UUID,才有50%的概率出现一次碰撞。这是个什么量级呢?假设你每秒生成10亿个UUID,持续生成约85年,才有一半概率撞一次。在正常业务场景下,UUID v4可以安全地当作全局唯一标识符来用。
MD5早在2004年就被证明存在碰撞漏洞——也就是说攻击者可以构造出两个不同内容但MD5值相同的文件。因此凡是涉及安全的场景(密码存储、数字签名、证书校验)都不能用MD5。但如果不涉及安全,只是拿它做一个快速指纹——比如缓存键值、数据去重标记、ETag生成——MD5因为计算速度快,仍然是不错的选择。涉及安全请换用SHA-256或SHA-512。
SHA-256是目前安全哈希领域的事实标准,应用范围非常广:比特币和以太坊的交易哈希、SSL/TLS证书里的签名校验、Git的提交和文件哈希、文件下载后的完整性校验、配合盐值做密码存储、API接口的请求签名防篡改等。它在安全强度和计算速度之间取得了比较好的平衡,不像SHA-512那么慢,又远比MD5和SHA-1安全。
文件哈希相当于文件的「数字身份证」,文件内容哪怕改了一个字节,哈希值都会完全不同。最典型的用法是下载文件后校验完整性:软件发布方通常会公布一个SHA-256值,你下载后用工具算一下,两个值一对比就能确认文件有没有被篡改或传输损坏。另外,云存储系统用文件哈希做去重判断——如果两个文件哈希相同,就只存一份,节省空间。