SQL函数uuid_generate_v5是否可逆?能否从掩码UUID还原生产UUID?
关于uuid_generate_v5()可逆性的问题解答
不能通过uuid_generate_v5()生成的掩码UUID还原出原始生产UUID
原因如下:
- uuid_generate_v5是基于SHA-1哈希算法实现的UUID生成工具,哈希算法的核心特性就是单向不可逆——给定输入能得到固定唯一的输出,但从输出无法逆向推导出原始输入。
- 哈希函数会把任意长度的输入映射为固定长度的128位UUID输出,理论上存在不同输入得到相同输出的哈希碰撞可能(概率极低),这也从侧面说明无法通过输出确定唯一的原始输入。
结合你的使用场景来看:
你用这个函数处理生产UUID生成掩码数据的方案是安全的——既保证了同一份生产UUID每次生成的掩码结果一致,又不用担心掩码数据泄露后被反向还原出真实生产数据。
你的示例代码:
SELECT uuid_generate_v5('0015b178-6102-43bc-89a8-5f7cafe78f2f', 'mask'); -- 返回结果: 'fdb8a7dd-909b-544d-8340-41358c6b3495'
内容的提问来源于stack exchange,提问作者Shadoath
相关产品推荐
相关产品推荐

