首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何从10个长度的数字/字母医疗ID中创建一个不可逆转的唯一ID?

如何从10个长度的数字/字母医疗ID中创建一个不可逆转的唯一ID?
EN

Stack Overflow用户
提问于 2021-12-15 18:36:21
回答 1查看 141关注 0票数 0

我想从医学ID中创建一个唯一的ID,这听起来像是一个常见的问题,但是我还没有在堆栈溢出或者Google上找到这个主题。我对python还不熟悉,所以一个代码示例就太棒了!

我已经得到了几个多达400万行的数据,其中有5-6000个不同的病人,我希望能够用相同的代码和唯一的机会增加更多的病人(最多500万个独特的病人)。在最终合并的数据集中,我总共获得了1000万行。

即使您知道医疗ID的格式,也几乎不可能对生成的唯一ID进行反向工程。

医疗ID由生日(YYMMDD)和仅为数字(0-9)和/或字母(A)的四个变量组成。

我阅读了以下有关这一主题的帖子,但仍有一些问题没有得到回答:

这里的Irreversible unique ID from String描述了使用彩虹表来修改唯一ID的可能性,并描述了使用salt绕过使用彩虹台的可能性。不幸的是,盐是我最近研究过的东西。

https://www.sohamkamani.com/uuid-versions-explained/如果我使用UUID v1,它依赖于当前的计算机MAC-adress,这不是一个选项,因为相同的唯一ID应该在其生成的计算机上是相同的独立的。我真的不知道用UUID v4和一个彩虹机反向设计唯一的ID的可能性,对于一个有正确知识的人来说,找出医疗身份系统是很容易的。

使用散列的从Python中的字符串生成ID,难道不是很容易被逆向工程的吗?

如何生成8位数字的唯一标识符以取代大熊猫中现有的标识符

所以我的要求是:

  1. 从医疗ID生成的唯一ID。
  2. 没有任何可能的方法来扭转它与一个彩虹(非常重要,因为它是敏感的信息)。
  3. 生成唯一ID时发生碰撞的风险非常小
  4. 不依赖于MAC-adress或计算机中其他独特的东西。
  5. 相同的唯一ID将从生成它的计算机上的同一医疗ID独立生成。
  6. 理想情况下,长度为10-20位数字唯一的ID,没有字母.但是,如果它需要两个字母( and )和数字(0-9)都更长,那么它就是:)

是否有符合上述要求的解决方案?你能不能提供一个代码示例,如果没有上面提到的链接已经有我所需要的?

例子:(DDMMYYXXXX) 2022年出生的人的形象身份证

代码语言:javascript
运行
复制
   Medical ID  Bloodsample Date
0  0101221234  5.2         
1  0101224321  6.2         
2  311222R09B  7.6         
3  0203221234  3.8         
4  311222R09B  5.7         
5  0405229082  9.5        
6  1012225879  7.2         
7  2801226787  5.2         
8  2706221HF9  6.3         
9  3112228768  4.6         

0和3,2和4是相同的病人。4和7不是同一个病人。

EN

回答 1

Stack Overflow用户

发布于 2021-12-15 20:04:56

DDMMYYXXXX

这些信息给出了出生日期,这可能是识别一小群人的重要提示,不太适合匿名化。

从医学ID生成的唯一ID..。

您要寻找的可能是哈希函数,加密散列函数(如SHA-256 )具有抗冲突能力。这意味着对于不同的输入产生相同的散列值的概率应该是可以忽略不计的(不管从数学上来说永远不会为零)。

没有任何可能的方法来扭转它与一个彩虹(非常重要,因为它是敏感的信息)。

加密散列将使值不可能反转。

彩虹表在有一组已知的输入值时是有效的。对于输入集MMDDYYXXXX,应该可以在合理的时间内生成所有可能的值。创建反向查找表

在这种情况下,您可以尝试使用HMAC,它是一个带有秘密密钥的散列函数。

不幸的是,python不是我的母语,所以您必须查阅您最喜欢的搜索引擎来搜索实现。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70368735

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档