UUID 转换为无符号整数

2024-02-27

有没有地方可以将 UUID 压缩/转换/编码/加密为无符号整数?

我从 sql 表中读取 UUID,历史记录很难看,我无法更改...我只有一个 unsigned int 来存储它。这是 C++,以防产生影响

对此有什么想法吗?

谢谢 礼萨


正如其他人所说,你will将 128 位 UUID 转换为更窄的整数类型时丢失信息。

如果您想保证唯一性——毕竟,这就是 UUID 的用途,您可能只需考虑将信息保留为 UUID 格式。

如果您可以满足较低的冲突可能性(两个不同的 UUID 映射到同一整数),则可以尝试以下几种方法。

尽可能使用大的整数类型。如果您的编译器支持无符号 64 位整数类型(unsigned long long或者无论微软如何称呼它),使用它。

xor计算 UUID 的上半部分和下半部分 64 位应该会给出一个相当不错的哈希值。

如果 UUID 值中存在某种顺序(非随机性、可预测性),导致其不合适,则可以计算 md5 或 sha-1 哈希值并丢弃除 64 位以外的所有值。丢弃哪些部分并不重要。

如果您仅限于 32 位整数,您可以xorUUID 的四个 32 位四分之一放在一起,或者丢弃除 32 位之外的所有 md5 或 sha-1 哈希值。

请注意,对于 32 位整数,您可能会在前两个样本上发生冲突,但这不太可能。如果样本数量位于可能性总数的平方根附近,则碰撞的可能性会上升到大约 50%,因此,如果您有 100,000 个随机 32 位数字,则很可能其中两个相同。请参阅生日悖论 http://en.wikipedia.org/wiki/Birthday_problem.

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

UUID 转换为无符号整数 的相关文章

  • 尚未注册类型“IServiceProviderFactory[Autofac.ContainerBuilder]”的服务

    当运行以下命令添加数据库迁移脚本时 出现以下错误 dotnet ef migrations add InitialCreate v o Migrations context MyContext 访问 Microsoft Extensions
  • 使用 mono/nunit-console/4 在 Mac OS X 控制台上运行测试

    我安装了 Max OS X 10 11 1 上面装有 Xamarin 我编写了简单的测试类 只是为了测试在 Mac OS X 和 Ubuntu 上运行 Nunit 测试 该类实际上有一个返回字符串的方法 using System names
  • 有没有快速创建集合的方法?

    目前我正在创建一个像这样的新集 std set a s s insert a1 s insert a2 s insert a3 s insert a10 有没有办法创建s在一行 int myints 10 20 30 40 50 std s
  • 在实体框架拦截器中向 DbScanExpression 添加内部联接

    我正在尝试使用实体框架 CommandTree 拦截器通过 DbContext 向每个查询添加过滤器 为了简单起见 我有两个表 一个称为 User 有两列 UserId 和 EmailAddress 另一个称为 TenantUser 有两列
  • 在 C# 中按元素相乘数组具有意想不到的性能

    我想找到按元素相乘两个数组的最佳方法 这是更广泛项目的一部分 其中性能而不是唯一的考虑因素 我今天开始用 C Linqpad 编写一些函数 因此它还没有以任何方式进行优化 下面代码的输出如下 Environment ProcessorCou
  • 类特定的新删除运算符是否必须声明为静态

    标准中是否要求类特定的 new new delete 和 delete 是静态的 我可以让它们成为非静态成员运算符吗 为什么需要它们是静态的 它们被隐式声明为静态 即使您没有键入 static
  • 找不到 assimp-vc140-mt.dll ASSIMP

    我已经从以下位置下载了 Assimp 项目http assimp sourceforge net main downloads html http assimp sourceforge net main downloads html Ass
  • fprintf() 线程安全吗?

    我正在为野人就餐问题的某些变量编写一个 C 解决方案 现在 我创建线程 每个线程都将 FILE 获取到同一个调试文件 在线程内我正在使用 fprintf 进行一些打印 打印的语句不受任何类型的互斥锁等保护 我没有在调试文件中观察到任何交错行
  • vs2008 c#:Facebook.rest.api如何使用它来获取好友列表?

    如何在此基础上取得进一步的进步 获取好友列表的下一步是什么 string APIKey ConfigurationManager AppSettings API Key string APISecret ConfigurationManag
  • 单例模式和 std::unique_ptr

    std unique ptr唯一地控制它指向的对象 因此不使用引用计数 单例确保利用引用计数只能创建一个对象 那么会std unique ptr与单例执行相同 单例确保只有一个实例属于一种类型 A unique ptr确保只有一个智能指针到
  • std::forward_as_tuple 将参数传递给 2 个构造函数

    我想传递多个参数以便在函数内构造两个对象 以同样的方式std pair
  • 如何从文本文件读取整数到数组

    这就是我想做的 我对此有些不满 但我希望你能容忍我 这对我来说是一个非常新的概念 1 在我的程序中 我希望创建一个包含 50 个整数的数组来保存来自文件的数据 我的程序必须获取用户的文档文件夹的路径 2 文件的名称为 grades txt
  • 如何通过 JsonConvert.DeserializeObject 在动态 JSON 中使用 null 条件运算符

    我正在使用 Newtonsoft 反序列化已知的 JSON 对象并从中检索一些值 如果存在 关键在于对象结构可能会不断变化 因此我使用动态来遍历结构并检索值 由于对象结构不断变化 我使用 null 条件运算符来遍历 JSON 代码看起来像这
  • 每个租户的唯一用户名和电子邮件

    我正在使用以下代码编写多租户应用程序ASP NET Core 2 1 我想覆盖默认的与用户创建相关的验证机制 目前我无法创建多个具有相同的用户UserName My ApplicationUser模型有一个名为TenantID 我想要实现的
  • 将标量添加到特征矩阵(向量)

    我刚刚开始使用 Eigen 库 无法理解如何向所有矩阵成员添加标量值 假设我有一个矩阵 Eigen Matrix3Xf mtx Eigen Matrix3Xf Ones 3 4 mtx mtx 1 main cxx 104 13 error
  • 我可以让 ungetc 取消阻止阻塞的 fgetc 调用吗?

    我想在收到 SIGUSR1 后使用 ungetc 将 A 字符重新填充到标准输入中 想象一下我有充分的理由这样做 调用 foo 时 stdin 中的阻塞读取不会被收到信号时的 ungetc 调用中断 虽然我没想到它会按原样工作 但我想知道是
  • cout 和字符串连接

    我刚刚复习了我的 C 我尝试这样做 include
  • 跨多个域的 ASP.NET 会话

    是否有合适的 NET 解决方案来在多个域上提供持久服务器会话 即 如果该网站的用户在 www site1 com 下登录 他们也将在 www site2 com 下登录 安全是我们正在开发的程序的一个问题 Thanks 它是否需要在会话中
  • 如何在 DropDownList 中保留空格 - ASP.net MVC Razor 视图

    我在视图中通过以下方式绑定我的模型 问题是我的项目文本是格式化文本 单词之间有空格 如下所示 123 First 234 00 123 AnotherItem 234 00 123 Second 234 00 我想保留此项目文本中的空格 即
  • 在简单注入器中解析具有自定义参数的类

    我正在使用以下命令创建 WPF MVVM 应用程序简易注射器作为 DI 容器 现在 当我尝试从简单注入器解析视图时遇到一些问题 因为我需要在构造时将参数传递到构造函数中 而不是在将视图注册到容器时 因此这不是适用的 简单注入器将值传递到构造

随机推荐

  • 支持 XSD 1.1 的 Java 库 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 是否有支持 XSD 1 1 的 java 库 我已经尝试找到它2天了 我发现的唯一实现是Xerces2
  • 获取资源编号值时没有包标识符

    I have read question with similar titles already 正如您所看到的 没有太多信息 我已检查 R 文件中没有 0x00000021c 资源 当我按下按钮并创建新的 Intent 并且想要将新的 A
  • 骆驼工作单元

    我试图理解骆驼中的工作单元概念 我有一个简单的问题希望这里有人可以提供帮助 例如 如果路由交换涉及多个路由 from aws sqs Q1 to direct processMe route1 from direct processMe t
  • 如何指定网页的语言,以便 Google Chrome 不提供翻译功能

    我有一个 Google Chrome 坚持认为是法语的页面 这是它的快照 http yootles com outbox overcleverchrome html http yootles com outbox overcleverchr
  • 发送带有纯文本后备的 HTML 新闻通讯

    我目前正在使用一个脚本 该脚本使用 file get contents 来获取 php 文件的内容 然后将其通过电子邮件发送给客户列表 我想更改脚本以允许纯文本回退 以降低被标记为垃圾邮件的风险 这是我目前的脚本 function send
  • Create-React-App 中的启动屏幕

    我正在使用 create react app 来设计 PWA 应用程序提供的默认启动屏幕是一个图标 位于屏幕中间 以及该图标下方的应用程序名称 图标和名称必须在清单文件中提供 问题 有没有什么方法可以自定义启动画面而不是使用默认的启动画面
  • 为什么 scikit-learn 的最近邻似乎没有返回正确的余弦相似距离?

    我正在尝试使用 scikit 的最近邻实现从随机值矩阵中查找与给定列向量最接近的列向量 该代码应该找到第 21 列的最近邻居 然后检查这些邻居与第 21 列的实际余弦相似度 from sklearn neighbors import Nea
  • T-SQL 根据列值的变化递增计数器

    我有如下示例表 该表按未显示的另一列排序 我需要根据值列中的任何变化来增加计数器列值 请参阅下面的示例 如何在 T SQL SQL Server 2014 中完成此操作 ID Value 1 3 2 3 3 2 4 2 5 2 6 3 7
  • 数据触发器未触发

    我有以下 xaml
  • 如何在不同平台有不同的Header? [复制]

    这个问题在这里已经有答案了 我对 C 还很陌生 我有一个必须在 Linux 和 Windows 中构建的文件 我想知道是否有一种方法可以在 Windows 和 Linux 的同一个文件中拥有不同的 include 列表 但不知何故我告诉它这
  • 如何在一个布局中实现多个recyclerview?

    我想创建一个窗格 其中有两个RecyclerViews 假设 MyItems AllItems 我创建了垂直LinearLayout 其中有TextView作为标题和RecyclerView 像这样的东西
  • 在 Visual Studio Webtest 中插入 120 秒等待

    我想在两个 Web 请求的执行之间添加 120 秒的延迟 我尝试过使用思考时间 但它不会暂停执行 120 秒 谁能告诉我如何添加等待以暂停执行 120 秒 在执行 2 个 Web 请求之后 然后继续执行下一个请求 我正在使用 Visual
  • ImportError:无法导入名称 celery

    我正在尝试使用 Celery Redis Flask 运行一些后台作业 我的应用程序结构是 myapp celery worker py manage py myapp init py app py bot init py tasks py
  • 使无边框窗口具有较暗较大的阴影

    当无边框窗口中的窗口变为活动状态时 如何创建更暗和更大的阴影 我对 NSWindow 进行了子类化 我的窗口成为主窗口和关键窗口 但这没有帮助 阴影仍然很小 那么也许有人知道如何解决这个问题 我也尝试过使阴影无效 但这也没有帮助 NSWin
  • 使用 SQL 中的结果计算每天的总数

    我的订单表中有 50 行 条目 我有一个列 当订单被认领时保存 名为claimed at 该字段中的日期格式如下 2011 10 03 07 07 33 格式为 yy mm dd 时间 我还有一个专栏叫price this price是他们
  • Loopback.io 的 ACL 问题

    我目前正在评估用于开发新项目的 API 部分的 Loopback io 但在设置正确的 ACL 条目时遇到问题 我希望完成的是给定一个身份验证令牌 GET 端点应该只返回用户拥有的对象 例如 对 Shows access token xxx
  • 什么是“SQLiteDatabase 创建且从未关闭”错误?

    我已经在我的适配器类中关闭了数据库 那么为什么这个错误显示在 logcat 上 但我的应用程序不强制关闭 但只有错误显示在 log cat 上 我应该关闭数据库以忽略此错误 我的错误是 下面 我离开哪个类来关闭数据库 我从此链接获取帮助ht
  • C#,求一个数的最大素因数

    我是编程新手 正在练习我的 C 编程技能 我的应用程序旨在查找用户输入的数字的最大素因数 但我的应用程序没有返回正确的答案 我真的不知道问题出在哪里 你能帮我么 using System using System Collections G
  • 从 Action Script 到 C# 的 Rijndael 加密

    我正在尝试在 Action Script 和 C 之间共享加密 我的任务是在 C 中解密以下消息 f1ca22a365ba54c005c3eb599d84b19c354d26dcf475ab4be775b991ac97884791017b1
  • UUID 转换为无符号整数

    有没有地方可以将 UUID 压缩 转换 编码 加密为无符号整数 我从 sql 表中读取 UUID 历史记录很难看 我无法更改 我只有一个 unsigned int 来存储它 这是 C 以防产生影响 对此有什么想法吗 谢谢 礼萨 正如其他人所