oracle guid 大写,UUID (GUID) 理解_请叫我花姑凉的博客-程序员宅基地

技术标签: oracle guid 大写  

UUID,Universally Unique Identifier的缩写,UUID出现的目的,是为了让分布式系统可以不借助中心节点,就可以生成UUID来标识一些唯一的信息。

GUID,是Globally Unique Identifier的缩写,跟UUID是同一个东西,只是来源于微软。

1个UUID是1个16字节(128位)的数字;为了方便阅读,通常将UUID表示成如下的方式:

123e4567-e89b-12d3-a456-426655440000

它被-符号分为五段,形式为8-4-4-4-12的32个字符。

其中的字母是16进制表示,大小写无关。

UUID的标准格式:xxxxxxxx-xxxx-Axxx-Bxxx-xxxxxxxxxxxx

A那个位置,代表版本号,由于UUID的标准实现有5个版本,所以只会是1,2,3,4,5

B那个位置,只会是8,9,a,b

UUID在发展过程中,为了适应不同的需要,产生了5个版本:

uuid1: 基于时间戳、机器MAC地址生成。由于使用MAC地址,可以保证全球范围的唯一性。

uuid2: 只基于时间戳,不常用。

uuid3: 基于namespace和一个自定义字符串,不常用。

uuid4: 只基于随机数,最常用,但不推荐,重复几率不太能让人接受。

uuid5: 只基于namespace,不常用。

Python中生成UUID

>>> import uuid

>>> uuid.uuid1()

UUID('753be314-0512-11e9-9b06-d4619d2b8628')

>>> uuid.uuid3(uuid.NAMESPACE_DNS, 'i am a name')

UUID('a7345f46-a3f1-33b7-99ae-a5e88194787d')

>>> uuid.uuid4()

UUID('fa9e34cc-2b31-41f0-8481-f703ce9a95b5')

>>> uuid.uuid5(uuid.NAMESPACE_DNS, 'i am a name')

UUID('1fd2308e-d846-5875-9106-9f6da736a562')

Python中UUID可以用int十进制,或hex十六进制显示,没有-分隔符用起来更方便。

>>> uuid.uuid1().int

73221012087113356936998119716747445800

>>> uuid.uuid1().hex

'6e574a3e051211e99b06d4619d2b8628'

显示UUID的“字段”,即-分隔符分开的各个项:

>>> uuid.uuid1().fields

(216362062, 1299, 4585, 155, 6, 233515713791528)

UUID会不会重复?

如果是基于mac地址等多元素组合生成的UUID,那么基本上可以保证全球所有信息中的唯一性。

695160670f2c811d8906031d0fd3ef02.png

image

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_33750004/article/details/116536622

智能推荐

真正的中国天气api接口xml,json(求加精) ..._方阳的博客-程序员宅基地

我只想说现在网上那几个api完全坑爹有木有???官方的申请不来有木有,还有收费有木有??咱这种菜鸟只能用免费的了!!!!http://m.weather.com.cn/data/101110101.html大坑有木有??反应慢不说了,还老不更新!!想贴段代码的,现在又打不开了(貌似3月4号以后没更新过)====================

学习资料集合_diaoshanwai2368的博客-程序员宅基地

一、NHibernate系列二、WCF系列三、Linix常用命令转载于:https://www.cnblogs.com/JuneZhang/p/3816965.html

关于字符数组以及字符串数组_一尾鱼汤的博客-程序员宅基地

例题13://13.编写一程序,将两个字符串连接起来,结果取代第一个字符串(mark下来加深印象),加油加油加油!(1)自己编写一个strcat函数int main(){ int strcat(char a[100],char b[100]); char a[100]={0}, b[100]={0}; //初始化字符数组; int i=0,j=0; cout<<"请输入两个字符串:"; cin>>a>>b;

Python配置Qt Designer与PyUIC_热心市民付先生的博客-程序员宅基地_python pyuic

Python配置Qt Designer与PyUIC安装pyqt相关包pip install pyqtpip install pyqt5-toolsPyCharm中选择相应的python解释器3. 添加外部工具名称填写自己方便易记得即可,我的名称添加为QTDesigner程序选择designer.exe,位置为当前解释器路径下的Lib\site-packages\pyqt5-tools\designer.exe工作目录为当前项目文件的目录添加选择完毕界面为:确定即可,再次

关于WebSocket_彪彪_的博客-程序员宅基地

原文链接:https://www.liaoxuefeng.com/wiki/1022910821149312/1103303693824096WebSocket是HTML5新增的协议,它的目的是在浏览器和服务器之间建立一个不受限的双向通信的通道,比如说,服务器可以在任意时刻发送消息给浏览器。为什么传统的HTTP协议不能做到WebSocket实现的功能?这是因为HTTP协议是一个请求-响应协议,...

随便推点

接口与监听器_xhsnhl的博客-程序员宅基地

接口与监听器从一个很简单的ui界面来写解释接与监听器接口机制从一个很简单的ui界面来写解释接与监听器接口机制这次不抄概念了简单的说java不支持多类继承 很麻烦 所以有了接口这个功能.我定义一个接口,给接口放入一些归属于这个接口的功能.然后在类中通过一些定义这个接口 来实现我想实现的功能举个例子:interface Animal { public void eat(); public void travel();}public class MammalInt impleme

鼠标移入移出效果 -- jQuery/Vue版_bestvist的博客-程序员宅基地

元素内遮罩层根据鼠标方向显示的效果比较常见,比如百度图片里的图片信息展示。自己动手实现jQuery插件版和Vue组件版效果。原文地址git地址实现思路根据鼠标的位置定位在元素内出现的方向根据方向动态设置遮罩层样式设置动画移动遮罩层jQuery版jQuery插件可以通过$.fn.extend方法进行拓展。html<div class=...

Android -- WifiMonitor_青 nihq的博客-程序员宅基地

在Android的Wifi体系中,WifiMonitor承担着分发来自wpa_supplicant底层事件的任务。当上层下达Wifi的扫描、连接等指令后, 底层驱动以及wpa_s进行实际的扫描、连接操作,操作完成后会向上层反馈一个event,通知framework扫描是否结束、连接是否成功。 ...

英语集合625_pony-Stark的博客-程序员宅基地

       1.I love three things in this world. Sun, moon and you. Sun for morning, moon for night , and you forever.  予独爱世间三物。昼之日,夜之月,汝之永恒。  2.Life has taught us that love does not consist in g

HTML5 APP----2014年H5没火,why?2016年H5能火,why?_谷震平的博客-程序员宅基地

0 前言        HTML5做跨平台的APP,在大多数人的脑子里没有什么好感,我身边的朋友也这么说。Anyway,我用完以后得出这样的结论:HTML5跨平台APP开发,在2015年以后会越来越火。    在2014年以前,HTML5的性能和能力都不够充足。特别是性能,因为Android4.4以下版本不能支持webGL技术,所以大部分低端Android手机无法流畅运行手机APP。D

推荐文章

热门文章

相关标签