Guid.NewGuid(); .NET Core 的幕后花絮

2024-01-06

昨天研究这个主题,我发现了几个有趣的问题(例如this one https://stackoverflow.com/questions/35366368/does-uuidcreate-use-a-csprng)关于 GUID 最终是如何生成的。简单来说;看起来Guid.NewGuid(); calls CoCreateGuid在 COM 中,依次调用UuidCreate在 Windows RPC 中(文档here https://msdn.microsoft.com/en-us/library/ms688568(VS.85).aspx and here https://msdn.microsoft.com/en-us/library/aa379205(v=vs.85).aspx).

我发现自己在想;当操作系统处于notWindows,例如 .NET Core 可能会出现这种情况,这是否会影响“版本”算法 https://en.wikipedia.org/wiki/Universally_unique_identifier#Versions用于生成 GUID(据我所知是 Windows 上的版本 4)?


在非 Windows 计算机上,.NET Core 将使用uuid_create https://www.freebsd.org/cgi/man.cgi?query=uuid_create在 BSD(即“版本 1”)或 libuuid 上uuid_generate_random https://linux.die.net/man/3/uuid_generate_random在 macOS 和 Linux(“版本 4”)上运行。

替换的实施CoCreateGuid函数可以在GitHub 上的 CoreCLR 源代码 https://github.com/dotnet/coreclr/blob/32f0f9721afb584b4a14d69135bea7ddc129f755/src/pal/src/misc/miscpalapi.cpp#L355.

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

Guid.NewGuid(); .NET Core 的幕后花絮 的相关文章

  • “构建”构建我的项目,“构建解决方案”则不构建

    我刚刚开始使用VS2010 我有一个较大的解决方案 已从 VS2008 成功迁移 我已将一个名为 Test 的控制台应用程序项目添加到解决方案中 选择构建 gt 构建解决方案不编译新项目 选择构建 gt 构建测试确实构建了项目 在失败的情况
  • 以文化中立的方式将字符串拆分为单词

    我提出了下面的方法 旨在将可变长度的文本拆分为单词数组 以进行进一步的全文索引处理 删除停止词 然后进行词干分析 结果似乎不错 但我想听听关于这种实现对于不同语言的文本的可靠性的意见 您会建议使用正则表达式来代替吗 请注意 我选择不使用 S
  • 为什么 C# Array.BinarySearch 这么快?

    我已经实施了一个很简单用于在整数数组中查找整数的 C 中的 binarySearch 实现 二分查找 static int binarySearch int arr int i int low 0 high arr Length 1 mid
  • GLKit的GLKMatrix“列专业”如何?

    前提A 当谈论线性存储器中的 列主 矩阵时 列被一个接一个地指定 使得存储器中的前 4 个条目对应于矩阵中的第一列 另一方面 行主 矩阵被理解为依次指定行 以便内存中的前 4 个条目指定矩阵的第一行 A GLKMatrix4看起来像这样 u
  • 为什么当实例化新的游戏对象时,它没有向它们添加标签? [复制]

    这个问题在这里已经有答案了 using System Collections using System Collections Generic using UnityEngine public class Test MonoBehaviou
  • 类模板参数推导 - clang 和 gcc 不同

    下面的代码使用 gcc 编译 但不使用 clang 编译 https godbolt org z ttqGuL template
  • BitTorrent 追踪器宣布问题

    我花了一点业余时间编写 BitTorrent 客户端 主要是出于好奇 但部分是出于提高我的 C 技能的愿望 我一直在使用理论维基 http wiki theory org BitTorrentSpecification作为我的向导 我已经建
  • C# 中通过 Process.Kill() 终止的进程的退出代码

    如果在我的 C 应用程序中 我正在创建一个可以正常终止或开始行为异常的子进程 在这种情况下 我通过调用 Process Kill 来终止它 但是 我想知道该进程是否已退出通常情况下 我知道我可以获得终止进程的错误代码 但是正常的退出代码是什
  • C++ OpenSSL 导出私钥

    到目前为止 我成功地使用了 SSL 但遇到了令人困惑的障碍 我生成了 RSA 密钥对 之前使用 PEM write bio RSAPrivateKey 来导出它们 然而 手册页声称该格式已经过时 实际上它看起来与通常的 PEM 格式不同 相
  • 使用 Bearer Token 访问 IdentityServer4 上受保护的 API

    我试图寻找此问题的解决方案 但尚未找到正确的搜索文本 我的问题是 如何配置我的 IdentityServer 以便它也可以接受 授权带有 BearerTokens 的 Api 请求 我已经配置并运行了 IdentityServer4 我还在
  • 如何设计以 char* 指针作为类成员变量的类?

    首先我想介绍一下我的情况 我写了一些类 将 char 指针作为私有类成员 而且这个项目有 GUI 所以当单击按钮时 某些函数可能会执行多次 这些类是设计的单班在项目中 但是其中的某些函数可以执行多次 然后我发现我的项目存在内存泄漏 所以我想
  • while 循环中的 scanf

    在这段代码中 scanf只工作一次 我究竟做错了什么 include
  • SolrNet连接说明

    为什么 SolrNet 连接的容器保持静态 这是一个非常大的错误 因为当我们在应用程序中向应用程序发送异步请求时 SolrNet 会表现异常 在 SolrNet 中如何避免这个问题 class P static void M string
  • 如何在 C 中调用采用匿名结构的函数?

    如何在 C 中调用采用匿名结构的函数 比如这个函数 void func struct int x p printf i n p x 当提供原型的函数声明在范围内时 调用该函数的参数必须具有与原型中声明的类型兼容的类型 其中 兼容 具有标准定
  • 垃圾收集器是否在单独的进程中运行?

    垃圾收集器是否在单独的进程中启动 例如 如果我们尝试测量某段代码所花费的进程时间 并且在此期间垃圾收集器开始收集 它会在新进程上启动还是在同一进程中启动 它的工作原理如下吗 Code Process 1 gt Garbage Collect
  • 使用 x509 证书签署 json 文档或字符串

    如何使用 x509 证书签署 json 文档或字符串 public static void fund string filePath C Users VIKAS Desktop Data xml Read the file XmlDocum
  • 向现有 TCP 和 UDP 代码添加 SSL 支持?

    这是我的问题 现在我有一个 Linux 服务器应用程序 使用 C gcc 编写 它与 Windows C 客户端应用程序 Visual Studio 9 Qt 4 5 进行通信 是什么very在不完全破坏现有协议的情况下向双方添加 SSL
  • cmake 将标头包含到每个源文件中

    其实我有一个简单的问题 但找不到答案 也许你可以给我指一个副本 所以 问题是 是否可以告诉 cmake 指示编译器在每个源文件的开头自动包含一些头文件 这样就不需要放置 include foo h 了 谢谢 CMake 没有针对此特定用例的
  • 如何将带有 IP 地址的连接字符串放入 web.config 文件中?

    我们当前在 web config 文件中使用以下连接字符串 add name DBConnectionString connectionString Data Source ourServer Initial Catalog ourDB P
  • C# 模拟VolumeMute按下

    我得到以下代码来模拟音量静音按键 DllImport coredll dll SetLastError true static extern void keybd event byte bVk byte bScan int dwFlags

随机推荐

  • 删除列中项目的百分比

    我正在尝试删除存在超过 90 NA 值的列 我已遵循以下操作 但我只得到一个值作为回报 不确定我可能做错了什么 我期待一个实际的数据框 我尝试将 as data frame 放在前面 但这也是错误的 领英帖子 删除缺失超过 x 的列 行 h
  • 未捕获 Google 地图信息窗口中的点击事件

    使用 Google Map v2 我希望能够在单击 GMarker 信息窗口中的文本时触发功能 foo click myFunction marker openInfoWindowHtml span class myText span 不起
  • 字符串匹配技术

    以下字符串被视为相等 我怎样才能匹配这样的东西 Hazard Const Company hazard construction company PETERSON CHASE GENERAL ENGINEERING CONSTRUCTION
  • 获取 UITextView 中的当前段落?

    我想检测当前段落 这是到目前为止我的代码 但效果不太好 假设我有 3 个段落 当光标位于它们之间时 它会选择下一个段落 这是不对的 有一个更好的方法吗 通过这段代码 我想检测当前段落 然后更改该段落的字体 然后继续使用该字体书写 func
  • Go 中“Must”模式的内置助手

    是否有一个更内置的包装器来制作返回的函数 X error 成功执行或中止 例如regexp MustCompile 我说的是像这样的东西 http golang org src pkg text template helper go s 5
  • SecureRandom 线程安全吗?

    Is SecureRandom线程安全 也就是说 初始化之后 访问下一个随机数是否可以保证线程安全 检查源代码似乎表明确实如此 并且这个错误报告 https bugs java com bugdatabase view bug bug id
  • Google 天气 API 返回 HTTP 403 错误

    我在网站中使用 Google 天气 API 今天收到一条错误消息 指出 API 链接未返回任何数据 当我直接检查链接时 我得到一个 错误 403 谁能告诉我这个问题的解决方案并为我提供另一个 API 链接吗 API 有时会短时间停止工作 最
  • 锁定视图中的纵向方向? IOS 7

    因此 我想将主页的方向锁定为纵向 并且仅限主页 我使用的是选项卡栏控制器 因此初始视图是选项卡控制器 但首先出现的视图控制器是第一个选项卡 例如主页 我想这样做 以便当用户旋转设备时 它不会旋转到此页面上的横向 然而 所有其他页面都可以旋转
  • 如何正确使用tf.metrics.accuracy?

    我在使用时遇到一些问题accuracy函数来自tf metrics用于以 logits 作为输入的多重分类问题 我的模型输出如下所示 logits 0 1 0 5 0 4 0 8 0 1 0 1 0 6 0 3 0 2 我的标签是一种热门编
  • 通知区域“全部清除”按钮回调

    我正在开发 Android 应用程序 我必须计算应用程序通过通知启动的次数 我的问题是我无法捕获用户从通知区域按下 清除按钮 的事件 有什么方法或回调可以知道何时按下清除按钮 我读过有关deleteIntent的内容 但我不知道如何使用它
  • 如何在 C++ 中将字符串转换为无符号字符数组

    string temp temp line substr 0 pos 我需要将字符串 temp 转换为无符号字符数组 有人可以告诉我如何做到这一点吗 我尝试了下面链接中提到的方法 但它们不起作用 如何在 Visual C 中将字符串文字转换
  • 调用第二个 ajax 请求时,f:viewParam 带有 Converter 和 ViewScoped 异常

    我有这个f viewParam我尝试绑定验证并转换userId into Player 我得到了一个意外结果
  • 用于为 Windows 资源管理器编写上下文菜单项的指针[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 这是一个通用问题 有没有使用 C 为
  • Android Studio 无法打开(port.lock 访问被拒绝)

    当我打开Android Studio时 出现以下错误 java io FileNotFoundException C Users HP AndroidStudio2 2 config port lock Access is denied j
  • Android API 级别 7 中的 Base64 解码器

    如何在 Android API 级别 7 上将 Base64 编码的字符串解码为字节数组 可以使用任何标准的 Java 包来完成吗 我应该从谷歌搜索结果中复制源代码吗 我应该根据 RFC 重新实现编码器和解码器吗 PS API级别8有uti
  • 如何获取量角器中所有元素的文本

    我想获取所有li在谷歌搜索栏中输入 Webdriver 后的建议文本 我写了一些这样的代码 this getElements function element all by css ul sbsb b then function text
  • 更改应用程序模块的 module.config.php 时,zf3 骨架应用程序无法工作

    当更改应用程序模块的路径时 zf3 无法正常工作 下载一个zf3骨架应用程序 更改zf3的路由 router gt routes gt home gt type gt Literal class options gt route gt de
  • 在 Rstudio 中设置 Quarto 文档的目录

    I am currently trying to transition to Quarto from Rmarkdown However I am facing an issue with setting the correct proje
  • 使用 bash 脚本将一些行写入文件

    如何在 bash 脚本中向文件写入一些行 我想将以下内容写入文件中 inputrc e A history search backward e B history search forward e C forward char e D ba
  • Guid.NewGuid(); .NET Core 的幕后花絮

    昨天研究这个主题 我发现了几个有趣的问题 例如this one https stackoverflow com questions 35366368 does uuidcreate use a csprng 关于 GUID 最终是如何生成的