【C/C++类库】:uuid 通用唯一识别码

2023-10-28

【SourceForge】libuuid下载
【CSDN】:libuuid下载安装

1、libuuid 下载安装
tar -xzvf libuuid-1.0.3.tar.gz
cd libuuid-1.0.3/
./configure
make
sudo make install
2、uuid 函数详解

uuid_generate():
优先算法:若有一高质量随机数生成器【/dev/urandom】,UUID将基于其生成的随机数产生
备用算法:上述条件不满足时,若可取到MAC地址,则将用由伪随机数生成器产生的随机数、当前时间、MAC地址生成UUID

uuid_generate_random():
强制完全使用随机数,优先使用高质量随机数生成器【/dev/urandom】,备用伪随机数生成器,用后者uuid有重复风险

uuid_generate_time():
使用全局时钟、MAC地址,有MAC地址泄露风险
为保证唯一性还使用时间同步机制,若机制不可用,多台机器上生成的uuid可能会重复

uuid_generate_time_safe():
指明由uuid_generate_time生成的uuid是否使用了时间同步机制

uuid_unparse():
将uuid以36字节的字符串表示,字符串尾添’\0’,转换后的字符串共占37字节

uuid_unparse_upper()、uuid_unparse_lower():
转换成相应的大小写字符串

3、uuid 使用
/*libuuid是一个用于生成UUID的C库,具体用法参考http://linux.die.net/man/3/libuuid,示例如下:*/
#include <stdio.h>
#include <uuid/uuid.h>

int main(int argc, char** argv)
{
    uuid_t uuid;
    char str[36];

    uuid_generate(uuid);
    uuid_unparse(uuid, str);

    printf("%s\n", str);
    return 0;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【C/C++类库】:uuid 通用唯一识别码 的相关文章

  • Win10激活(家庭版升级到专业版)带你5分钟解决

    作为一名计算机专业的学生 将自己的电脑激活到专业版是我们的必经之路 接下来的内容希望对在座的各位同学有帮助 一 误删密钥导致windows处于未激活状态的解决方法 点击 激活 疑难解答 升级到专业版后 需要产品密钥才能激活 二 最快速有效的
  • ios英语口语800句应用源码

    前几天突发奇想做了个很水的应用 名字叫chinese 800 汉语口语800句 现在让别人传上去了 正在传 今天又改了一下变成了英语口语800句 加了广告条 ui 没有优化 我随便整的两个图片 有人会ps的可以再优化一下ui 应用含800个
  • 盘点免费好用的5款思维导图工具

    在日常生活 学习和工作之中 我们难免会面对纷乱繁杂的知识或信息 运用思维导图对信息和内容进行整理 可以直接有效且高效地将散点链接成为相关联的 有逻辑的整体 当我们善用思维导图对这些内容进行分类梳理 自然而然我们的效率就会得到很大程度的提升
  • 玩转软路由 篇四:软路由中OpenWRT作为旁路由的安装设置教程

    开篇说一些仁者见仁智者见智的话 先声明 这只是代表我自己近期浅陋的看法 看到很多人玩路由器 刷各种固件 什么爱快 高格 老毛子 OpenWRT什么的 自己也折腾过 也在恩山论坛里下载各路大神的固件使用 作为一个小白 就自然而然想到 这么多固
  • 3.2 二维随机变量的边缘分布

    思维导图 学习目标 要学习二维随机变量的边缘分布 我可能会按照以下步骤进行学习 理解二维随机变量的概念和表示方法 包括联合分布函数和联合分布律等概念 理解二维随机变量的边缘分布的概念和意义 即在已知联合分布的情况下 如何求出单独一个随机变量
  • 前端Javascript,ES6常见面试题

    一 Javascript js数据类型 及检测 共8种常用的6种类型 基本类型 Number String Boolean undefined Null 引用类型 object function 不常用2种类型 Symbol bigInt
  • 浏览器手势识别原理

    以下内容转自 链接 https www zhihu com question 20607813 answer 1396981185 来源 知乎 Stroke 是作者的一款开源鼠标手势 支持复杂手势 对于这个问题 我觉得可以细分为这样两个子问
  • C/C++cmath库常用函数

    在一些计算题目中 我们常会用到求和 取绝对值以及求三角函数等代码 写出来需要耗费一番功夫 于是 C C 库中提供了一个包含各种计算函数的头文件 cmath库 C C 中的cmath头文件 C include
  • S_ISREG S_ISDIR 等几个常见的宏

    转自 http blog csdn net dssxk article details 6793370 S ISLNK st mode 是否是一个连接 S ISREG st mode 是否是一个常规文件 S ISDIR st mode 是否
  • FFT将时域信号变换到频域里面的一些重要知识点记录

    一 FFT是离散傅立叶变换 采样得到的数字信号 就可以做FFT变换了 N个采样点 经过FFT之后 就可以得到N个点的FFT结果 为了方便进行FFT运算 通常N取2的整数次方 假设采样频率为Fs 信号频率F 采样点数为N 那么FFT之后结果就
  • Spring容器IOC初始化过程---今天终于进行总结了

    一 老规矩 先比比点幺蛾子 作为一个经常使用Spring的后端程序员 小编很早就想彻底弄懂整个Spring框架了 但它整体是非常大的 所有继承图非常复杂 加上小编修行尚浅 显得力不从心 不过 男儿在世当立志 今天就先从Spring IOC容
  • 国民技术MCU开发之频率修改

    文章目录 前言 设置外部输入晶振频率 修改MCU时钟主频 修改系统时钟源 配置HCLK PCLK2和PCLK1 前言 本文以N32L403芯片为例 依赖库文件版本为 N32L40xxx V2 0 0 记录了国民MCU关于频率修改的位置和方法
  • 基于注解方式实现Spring Security忽略拦截

    文章目录 1 Spring Security忽略拦截配置 2 基于配置文件注入 2 1 添加配置 2 2 修改Spring Security配置类 2 3 测试 3 基于注解的方式过滤接口 3 1 添加忽略拦截注解 3 2 获取所有使用了
  • Adworld -give_you_flag

    Adworld give you flag 补齐二维码 扫描得出flag 已解码数据 1 位置 10 0 13 4 214 5 11 0 11 4 217 0 214 3 213 4 颜色正常 正像 版本 5 纠错等级 H 掩码 6 内容
  • 用于非线性多载波卫星信道的多输入多输出符号速率信号数字预失真器DPD(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码 数据 文章 1 概述 文献来源 摘要 该文提出一种数字预
  • python中年月日,python日期和时间

    今天是第17天 在Python中通常用时间戳 时间字符串和元组三种方式表示 今天学习的是time和datetime常用时间和日期函数的用法 一 日期和时间的处理 1 时间戳 指1970年1月1日0时0分0秒起到现在的总毫秒数 gt gt g
  • C#Windows Service程序的创建安装与卸载

    C Windows Service程序的创建安装与卸载 一 开发环境 操作系统 Windows7x64 sp1 专业版 开发环境 Visual studio 2013 编程语言 C NET版本 NET Frmework 4 0 二 创建Wi
  • flink监控1---延时监控

    什么是延时监控 延时监控 简单理解监控算子到算子的延迟时间 记录算子间或者源流入到算子时间 监控系统健康以及调节 流式计算中处理延迟是一个非常重要的监控metric flink中通过开启配置 metrics latency interval
  • IDEA插件系列(111):JUnitGenerator V2.0插件——快速生成单元测试

    1 插件介绍 JUnitGenerator V2 0插件 该插件从右键单击 Generate 菜单生成 JUnit 测试 同时专注于 Java 类 可以使用提供的速度模板自定义单元测试输出代码 以根据原始类格式化代码 如果在已经存在的地方创

随机推荐