我已经向客户发送了10000封邮件,每封邮件都有格式链接
http://example.com/LogIn?key={guid}
Run Code Online (Sandbox Code Playgroud)
不幸的是,guid我发送的是随机guid(生成的测试数据Guid.NewGuid()),所以客户都收到了无效链接......
基于我从网络服务器收到的404s,我发了一些guid.我已经读过Windows中的guid生成器很弱,所以你可以预测你已经拥有的下一个guid.有谁知道怎么样?如果我能做到这一点,我可以使我发出的指令有效,这样链接就可以了.
我在ASP.NET中创建一个网站,希望能够拥有一个用户配置文件,可以通过最终用户ID的URL访问.唯一标识符显然是一个糟糕的选择,因为它很长并且(如果我错了,请纠正我)不是真正的URL友好.
我想知道我是否在ASP页面上创建了一个唯一的idnetifier,然后使用CRC(或类似的东西)对其进行哈希处理,如果它仍然像GUID一样独特(或者甚至是唯一的).
例如:
GUID 6f1a7841-190b-4c7a-9f23-98709b6f8848等于CRC E6DC2D44.
谢谢
如果我想将guid表示为一组整数,我将如何处理转换?我正在考虑获取guid的字节数组表示并将其分解为最少可能转换回原始guid的32位整数.代码示例首选...
此外,结果整数数组的长度是多少?
可能重复:
GUID和UUID之间有什么区别吗?
什么是GUID和UUID之间的区别,我应该将它用于真正的唯一性?
更新:在我选择的算法中,我还需要哪些独特性?
1) MAC address of network card
2) 128 bits (isn't 64 bits enough?)
3) What if I have a multicore machine on the same MAC address. Isn't there a chance of duplicates?
Run Code Online (Sandbox Code Playgroud) 当我使用MyGuid.ToString().Equals(OtherGuid.ToString())时
他们是平等的,为什么当我比较纯粹的Guid时他们不平等?
更新:
那么这里的问题可能是我使用了第三方控件.
下面的.Key有一个Guid,委员会也是一个Guid.只有当我这样做时,它们才是平等的
两个Guid上的ToString()它们都是奇怪的.
for (int i = 0; i < this.ultraCalendarInfo.Owners.Count; i++)
if (ultraCalendarInfo.Owners[i].Key.ToString().Equals(committeeId))
ultraCalendarInfo.Owners[i].Visible = isVisible;
Run Code Online (Sandbox Code Playgroud) 我的实体中有一个guid属性,我想将其映射到MS SQL中的guid字段。
public class SomeEntity
{
public virtual int Id { get; set; }
public virtual Guid GUID { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
以及如何将其映射到表并允许MS SQL生成此guid字段,
我已经尝试过了
Id(x => x.Id).GeneratedBy.Identity();
Map(x => x.GUID).Unique().Not.Insert().Not.Update();
Run Code Online (Sandbox Code Playgroud)
没有运气。问题是当实体被添加时,它会生成GUID,但是当我选择它时,它会返回空的guid({00000000-0000-0000-0000-000000000000})。
我也尝试过这个
Map(x => x.GUID).Unique().ReadOnly();
Run Code Online (Sandbox Code Playgroud)
再次没有运气,那么解决方案是什么?如何映射到GUI,应在MS SQL中生成
所以我使用NetOffice创建了一个outlook插件.
在插件入口点上它有这样的东西:
[GuidAttribute("d7066ab2-ac03-431a-bea5-b70d3efab2a5"), ProgId("OutlookPlugin"), ComVisible(true)]
现在我明白了这个ComVisible位将库设置为ComVisible.我假设这样我可以通过程序集信息创建单个类ComVisible而不是整个库 - >使程序集COM-Visible.
但我不明白的是什么GuidAttribute,并ProgId用于?
如果我尝试转换可空的GUID ToString(),它可以正常工作,但我尝试从GUID中删除"连字符",myGuid.ToString("N")我得到一个IntelliSense错误,该错误读取:"方法ToString方法没有重载需要一个参数".
但是,如果我尝试将常规(不可为空)GUID转换为带有N格式化程序的字符串,它可以正常工作.
知道如何让它工作吗?
public void DoSomething(Guid regularGuid, Guid? nullableGuid)
{
if(nullableGuid != null)
{
var string1 = regularGuid.ToString("N"); // This works
var string2 = nullableGuid.ToString(); // This works also
var string3 = nullableGuid.ToString("N"); // This does NOT work
}
}
Run Code Online (Sandbox Code Playgroud) 我在VB.Net中有以下代码,我正在尝试将其转换为C#.
listContacts = ACT_FRAMEWORK.Contacts.GetContactsByID(Nothing, New Guid() {New Guid(ContactID)})
Run Code Online (Sandbox Code Playgroud)
以下是我到目前为止的尝试:
Guid[] test = new Guid[1];
test[0] = Guid.NewGuid(ContactID);
contactList = actApp.Contacts.GetContactsByID(null, test);
Run Code Online (Sandbox Code Playgroud)
由于NewGuid()不带参数,因此abover错误.我也试过了.
test[0] = contactID1;
Run Code Online (Sandbox Code Playgroud)
但是,您无法从字符串转换为Guid.有人能帮忙吗?
有没有一种方法可以在Delphi 5中生成GUID v1(基于时间)?我发现了这个功能...
unit ComObj;
function CreateClassID: string;
Run Code Online (Sandbox Code Playgroud)
但是我不确定它是否生成基于时间的GUID。我也知道这一点...
SysUtils.CreateGUID(newGUID);
Run Code Online (Sandbox Code Playgroud)
...,它调用CoCreateGUID产生GUID版本4(随机)的Windows API 。