我正在编写一个Python例程来生成DICOM文件。在这种情况下,我需要指定Instance Creator UID标记,该标记用于唯一地标识创建DICOM文件的设备。因此,我需要一个为给定机器和启动DICOM创建例程的特定用户生成此类UID的函数。
我想可以从MAC地址和用户名创建UUID。但是,由python中的uuid
模块生成的UID是随机的,因此每次调用该例程时UID都不相同。
是否有一种生成确定性 UID的方法,该方法取决于MAC地址和用户名?
问题来源:stackoverflow
UUID3和5是基于名称的uuid,因此它们不会随时间变化随机变化。
import uuid
import getpass
username = getpass.getuser(). # Username
node = hex(uuid.getnode()) # MAC address
urn = 'urn:node:%s:user:%s' % (node, username)
for i in range(3):
print (uuid.uuid3(uuid.NAMESPACE_DNS, urn))
输出:
4b3be55c-c6d9-3252-8b61-b16700fa6528
4b3be55c-c6d9-3252-8b61-b16700fa6528
4b3be55c-c6d9-3252-8b61-b16700fa6528
有关更多信息,请访问https://pymotw.com/3/uuid/
回答来源:stackoverflow
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。