标签: guid

在使用C或C++进行Windows编程时,如何操作GUID?

在使用C或C++进行Windows编程时,如何操作GUID?

感谢Rich B修复了我的"失礼",并将我的回答转移到我自己的问题本身,并转到一个独立的答案.

c c++ winapi guid

3
推荐指数
1
解决办法
716
查看次数

可见GUID是否存在安全风险?

我正在使用ASP.NET和我的网站的成员资格提供程序.如果用户能够轻松查看其GUID,那么这会被视为安全风险吗?我是否应该采取额外措施来阻止用户轻松找到他们的GUID,例如在他们确认验证过程时.虽然有很多方法可以解决这个问题,例如对"前端"活动使用单独的GUID,这是否会增加开销和开发时间?

可能的欺骗的一个例子是我在验证用户访问资源的权限时.

Guid cUser = (Guid)Membership.GetUser().ProviderUserKey; //if this is publicly viewed, then  there's no reason to call the DB or store in a session as it can be placed in the QueryString
bool grantAccess = CheckGroupPermission(cUser, groupID);
Run Code Online (Sandbox Code Playgroud)

谢谢

membership asp.net security guid query-string

3
推荐指数
2
解决办法
1082
查看次数

如何从PDB文件获取GUID?

有谁知道如何从PDB文件获取GUID?

我正在使用Microsoft的Debug Interface Access SDK

http://msdn.microsoft.com/en-us/library/f0756hat.aspx

并在传递GUID时获取E_PDB_INVALID_SIG,我希望在尝试加载PDB时获得该信息。

我只想了解PDB的GUID,因此可以确定它不匹配,而不仅仅是一个可能因某种原因损坏的PDB。

有没有可以做到这一点的工具?我尝试了dia2dump和dumpbin,但没有任何乐趣...

非常感谢,

思想。

debugging guid pdb-files dia-sdk

3
推荐指数
1
解决办法
5999
查看次数

是否有更多机会在GUID或GUID的SHA1哈希之间发生冲突?

当两者之间GUID's(128位)或SHA1哈希GUID's(160位)时,是否有更多机会发生冲突?我认为a的可能性较小GUID(即使有少32位),因为它有一些特殊的机制来确保(几乎,因为没有保证)唯一(例如:timestamp)

注意:我已经知道a GUID不太可能与另一个发生碰撞GUID,请不要再讨论这个问题了.

algorithm sha1 guid hash-collision

3
推荐指数
1
解决办法
992
查看次数

SQL SERVER - INT Vs GUID - 我们应该使用它

我有问题,我们应该在表中使用Int/GUID.使用此方案.

使用a BIGINT作为主键 - 群集等,用于连接,快速检索等.这是为了检索和用户便利而优化的.

有一个GUID作为记录的唯一标记,这是您在跨服务器/应用程序等移植数据时使用的.这将永远不会显示给用户,但会标记到所有记录.

这为您提供了两全其美的优势,您可以避免使用GUIDs作为主键的碎片和性能损失,但在移动数据/在系统之间共享时保留其优势,因为您可以独立识别记录.

有些人可能认为额外的存储成本过高,但我认为从长远来看,花费几美元在SAN上比在同一数据列上尝试做两件不同的事情要便宜.

sql-server int guid

3
推荐指数
1
解决办法
3731
查看次数

Guid构造函数在明显有效的字符串上抛出formatException

我正在为iPad应用程序提供一些服务,以便将广告发送数据用于CRM Dynamics.在这个过程中,我碰到了这个奇怪而又令人着迷的问题.

我必须为一些尚未分配给其他实体的记录分配一个Guid.由于这个Guid可以改变,我把它放在一个变量上并以编程方式创建Guid,这样(抱歉这么长时间输入这样的小东西)

new Guid("31033981b158e31187e700155d094430?");
Run Code Online (Sandbox Code Playgroud)

但这是一个格式异常,仅表示一个guid应该有32位和4个破折号.我在这里使用一个完全有效的构造函数覆盖,我只能发送数字.

好吧,我也尝试过像这样的MSDN文档中的示例

new Guid("ca761232ed4211cebacd00aa0057b223");
Run Code Online (Sandbox Code Playgroud)

它起作用了.

所以,问题是,两个Guids之间的差异是什么?

c# guid

3
推荐指数
1
解决办法
1103
查看次数

通过XOR合并两个GUID的结果是否满足成为GUID的条件?

给定两个GUID,A和B,我执行C = A ^B。结果是GUID吗?

(如果是这样,我可以使用它代替生成第三个guid来表示包含由A和B表示的两个对象的对象。)

math guid xor

3
推荐指数
1
解决办法
1993
查看次数

Data :: GUID是否生成有效的GUID?

我使用Data :: GUID生成GUID.但是,每当我在同一个"会话"中生成GUID,即运行脚本时,唯一更改的数字就是前面的数字:

3BAF1240-0573-11E4-B31C-B8EC0EDF341C
3BAF1588-0573-11E4-B31C-B8EC0EDF341C
3BAF1678-0573-11E4-B31C-B8EC0EDF341C
Run Code Online (Sandbox Code Playgroud)

第一组数字是唯一一组有变化的数字.如果我再次运行脚本,那么其余的数字略有不同,但第二组和第三组数字仍然相同:

E5D3A59C-0573-11E4-AA07-A5F15201CE1F
E5D3A920-0573-11E4-AA07-A5F15201CE1F
E5D3A9C0-0573-11E4-AA07-A5F15201CE1F
Run Code Online (Sandbox Code Playgroud)

但同样,唯一不断变化的值是在第一组数字中.这与我在C#中生成GUID时得到的结果非常不同,我认为GUID应该是随机的,那么为什么只有前面的数字集会改变?我可以使用作为GUID生成的GUID吗?

perl uuid guid

3
推荐指数
1
解决办法
622
查看次数

带有Golang SQL驱动程序和UUID的MS SQL uniqueidentifier

我使用Go 1.6.2连接到SQL-Server数据库.我正在使用go-mssqldb驱动程序(github.com/denisenkom/go-mssqldb)和sql包.

我的问题是我正在使用github.com/twinj/uuid包创建uuids(我也尝试了其他一些)并且它们正确插入但是当我尝试将它们扫描出来时

err := Database.QueryRow("SELECT Id FROM ...").Scan(&struct.Id)
Run Code Online (Sandbox Code Playgroud)

它会在前半部分翻转时返回Id.我在这篇SO帖子(https://dba.stackexchange.com/questions/121869/sql-server-uniqueidentifier-guid-internal-representation)和其他一些文章/帖子中找到了解释.

但是,我一直无法在Go中找到解决这个问题的具体内容.我无法改变SQL-server存储guid的方式.我是否遗漏了UUID扫描实施的内容?我还没有看到改变它读取方式的方法.我的最后一个选择是编写我自己的实现来交换这些位,但是想要了解我是否遗漏了驱动程序或UUID包或其他库中的某些内容.

sql-server uuid guid go

3
推荐指数
1
解决办法
1424
查看次数

Binary(16)字段截断了Guid的尾随零

在C#中,我有一个byte[]名为UniqueId的字段。我将此字段存储为SQL Server数据库(EF6)中的Binary(16)。

我注意到有时,存储的guid是15个字节而不是16个字节。var guid = new Guid(uniqueId)从数据库中检索值后,这会导致以下异常:

System.ArgumentException:GUID的字节数组必须恰好是16个字节长。

在对此进行调查之后,我注意到,只要生成的guid在十六进制末尾包含“ 00”,SQL就会将其截断!

例:

生成的Guid(通过Guid.NewGuid): FF96F954777E8941A04774CD157C5C00(16字节)

在SQL Server中存储二进制(16):0xFF96F954777E8941A04774CD157C5C(15字节)

如果您注意到,00末尾的将被截断。结果,如果我查询此字段并尝试将其字节转换为Guid,则会得到一个System.ArgumentException

还有其他人遇到这个问题吗?解决方法是什么?我正在考虑一个包装器,Guid该包装器会一直生成向导,直到没有尾随零为止,但这似乎很hack。

更新1:由于你们的要求,我运行了SQL事件探查器,这是由EF(节略版)生成的SQL:

exec sp_executesql N'INSERT [dbo].[customers]([UniqueId])
VALUES (@0)',N'@0 varbinary(max)',@0=0xFF96F954777E8941A04774CD157C5C00
Run Code Online (Sandbox Code Playgroud)

c# sql sql-server entity-framework guid

3
推荐指数
1
解决办法
112
查看次数