标签: guid

在MS SQL的PK中,sequental uniqueidentifier的目的是什么?

我知道基于Guids的主键不具有最佳性能(由于碎片),但它们是全局唯一的并且允许复制方案.

另一方面,整体标识符以可扩展性为代价具有更高的性能.

但在某些情况下,有人想要使用顺序uniqueidentifier作为主键吗?我认为,它胜过了GUID的目的,但我仍然偶尔会看到提及的后遗症.

我在这里想念什么?

sql database guid uniqueidentifier

2
推荐指数
1
解决办法
1211
查看次数

使用set Prefix创建GUID

我想知道是否有办法生成有效的GUID/UUID,其中第一个(或任何部分)部分是用户选择的前缀.

即,GUID的格式为AAAAAAAA-BBBB-CCCC-DDDD-DDDDDDDDDDD,我想将任何部分设置为预定义值(理想情况下为AAA).目标是使GUID仍然是全局唯一的,但它们不需要加密安全.

c# guid

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

这个JavaScript函数如何创建GUID?

我遇到了这个JavaScript函数,我不太清楚它在做什么,特别是使用0xF.

0xF究竟做了什么.对我来说,这似乎是一个空的蚕食.

function()
{
    var g = "";
    for(var i = 0; i < 32; i++)
        g += Math.floor(Math.random() * 0xF).toString(0xF)
    return g;
}
Run Code Online (Sandbox Code Playgroud)

javascript guid

2
推荐指数
1
解决办法
1731
查看次数

如何组合两个GUID值

我想组合两个guid值并生成一个32位的字母数字值(可以通过使用散列来完成).

guid

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

我怎样才能旅行用guid命名的目录?

今天,我编写了一个perl脚本,如下代码:

my @files = <./{FF35B8A6-985C-4644-87B1-3FE83D1A50B}/*>;
print @files;
Run Code Online (Sandbox Code Playgroud)

但它什么也没输出.当我用一般路径(如d:)更改guid路径时,它工作正常.为什么?perl可以支持用guid字符串命名的路径吗?

操作系统:Windows 7 32位
Perl版本:ActivePerl 5.12.3

perl guid path

2
推荐指数
1
解决办法
144
查看次数

GUID的唯一性

GUID是MSFT生成的128位唯一标识符.

我怀疑GUID是否是全球唯一的.我的意思是我生成的GUID,在任何系统中使用任何应用程序的人都没有其他人可以生成?真的吗?

我很惊讶微软如何知道或追踪这种独特性.

而且生成的uniquie GUID可以链接到任何实体吗?应用,变量,系统,?

GUOD所有实体可以链接到什么?任何人都可以澄清GUID的概念吗?编程语言是独立的吗?

c++ windows registry coding-style guid

2
推荐指数
1
解决办法
371
查看次数

比较.NET中的GUID时出现意外行为

我试图创建一个看起来像这样的扩展方法......

public static IEnumerable<T> Distinct<T>(this IEnumerable<T> value, IEnumerable<T> compareTo, Func<T, object> compareFieldPredicate)
{
    return value.Where(o => !compareTo.Exists(p => compareFieldPredicate.Invoke(p) == compareFieldPredicate.Invoke(o)));
}
Run Code Online (Sandbox Code Playgroud)

我的想法是,我可以做这样的事......

IEnumerable<MyCollection> distinctValues = MyCollection.Distinct(MyOtherCollection, o => o.ID); //Note that o.ID is a guid
Run Code Online (Sandbox Code Playgroud)

现在,在这一点上,我本来希望只有我的不同物品归还给我,但我发现从来没有这样.

进一步研究使用以下代码分解此方法.

Guid guid1 = Guid.NewGuid();
Guid guid2 = new Guid(guid1.ToString());

Func<MyObject, object> myFunction = o => o.ID;
Func<MyObject, object> myFunction1 = o => o.ID;

bool result = myFunction(MyObject) == myFunction1(MyObject);
//result = false
Run Code Online (Sandbox Code Playgroud)

我发现即使Guids是相同的,比较也总是返回false.

这是什么原因?

c# comparison lambda extension-methods guid

2
推荐指数
1
解决办法
3337
查看次数

将GUID作为主键时插入语句

当我有GUID字段时,有没有办法使用INSERT语句在SQL CE中插入行.

在C#中,我使用

ID = Guid.NewGuid()
Run Code Online (Sandbox Code Playgroud)

但在SQL控制台中,我找不到关键字来执行此操作.

我发现这一个:

> Insert into Customer (ID, Name) values ('f5c7181e-e117-4a98-bc06-733638a3a264','MyCustomer')
Run Code Online (Sandbox Code Playgroud)

如果要插入很多行怎么办?

c# sql guid insert sql-server-ce

2
推荐指数
1
解决办法
3255
查看次数

根据WHERE子句抑制SELECT输出

我在这里有一个查询,在整个数据库中搜索我选择的特定GUID.现在,它正在完成它的编程操作:遍历所有列/表组合并输出可能包含或不包含信息的表.我想将此更改为仅输出包含结果的表.

这是代码:

DECLARE 
    @tab_list NVARCHAR(MAX),
    @col_list NVARCHAR(MAX),
    @IDquery NVARCHAR(MAX),
    @srvName NVARCHAR(MAX),
    @getList CURSOR

SET @srvName = 'Server_Name'

SET @getList = CURSOR LOCAL FAST_FORWARD FOR
    SELECT [TABLE_NAME]
        ,[COLUMN_NAME]
    FROM [Server_Name].[INFORMATION_SCHEMA].[COLUMNS]
    WHERE [COLUMN_NAME] LIKE '%id'
        AND [DATA_TYPE] LIKE 'uniqueidentifier'
    ORDER BY [TABLE_NAME] ASC

OPEN @getList

FETCH NEXT FROM @getList INTO @tab_list, @col_list

WHILE (@@FETCH_STATUS = 0)
BEGIN       
    PRINT @tab_list + ' -- ' + @col_list

    SET @IDquery = 
        'SELECT *' + 
        ' FROM ' + @srvName + '.dbo.' + @tab_list + 
        ' …
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server guid cursor

2
推荐指数
1
解决办法
376
查看次数

通过URL传递GUID的安全风险

我从安全角度提出了有关使用GUID的一些建议.我开发了一个ASP.Net应用程序.它为用户提供对Web服务器上不存在的某些材料(如文档和照片)的访问权限.这些存储在文件服务器上.我有一个'GetResource.aspx'页面,它获取资源的ID,使用System.IO.FileInfo将其打开到响应流并返回它.

因此,GetResource.aspx?id = 123会返回一个用户有权访问的图片.当然,用户可以手动输入URL作为GetResource.aspx?id = 456,在这种情况下,将返回具有该ID的图片/文档等,并且它可能不是他们有权访问的人.

所以显然使用整数ID是不够的.使用GUID作为ID提供足够的"随机性",我可以可靠地假设用户永远不能手动输入"GetResource.aspx?guid = {A guessed guid}"并期望访问有效资源,包括使用脚本每秒做出许多随机猜测?

或者,没有替代从Session变量确定用户的ID,确定他确实有权访问所请求的资源,然后才返回它(在我写这个时,我越来越相信是这样的! ).

谢谢

asp.net security guid

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