我需要生成UUID以最终存储在数据库中。我可以在客户端浏览器上使用JavaScript生成这些UUID吗?在javascript中获取客户端计算机的UUID
任何人都可以告诉我/我是否可以在我的asp.net/javascript中获得客户端计算机标识符? (客户端是在网络不是本地Intranet)的
(什么是客户端计算机indentifier我认为,如:客户端计算机MAC地址或者任何硬件GUID(如CPU,网卡等)?)
目前我正在使用vbscript中的Activex通过以下代码生成客户端的UUID。
Public Function GetUUID(strComputer)
Dim objWmi, colItems, objItem, strUUID, blnValidUUID
Set objWmi = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWmi.ExecQuery("Select * from Win32_ComputerSystemProduct")
strUUID = ""
blnValidUUID = False
For Each objItem In colItems
strUUID = objItem.UUID
If Not IsEmpty(strUUID) Or Not IsNull(strUUID) Then
If (strUUID <> "00000000-0000-0000-0000-000000000000") And _
(strUUID <> "FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF") Then
blnValidUUID = True
Exit For
End If
End If
Next
Set objWmi = Nothing
If Not blnValidUUID Then
Set colItems = GetObject("winmgmts:" & strComputer & "\root\cimv2").InstancesOf("Win32_NetworkAdapter")
For Each objItem In colItems
If (objItem.AdapterType = "Ethernet 802.3") Then
If (objItem.Description <> "Packet Scheduler Miniport") Then
strUUID = "00000000-0000-0000-0000-" & Replace(objItem.MacAddress, ":", "")
Exit For
End If
End If
Next
Set NicSet = Nothing
End If
GetUUID = strUUID
End Function
我不想再使用ActiveX了。相反,我想通过JavaScript来做到这一点。在JavaScript中,我已经找到了一些代码,唯一产生一些UUID如下面的代码描述:
var number = Math.random() // 0.9394456857981651
number.toString(36); // '0.xtis06h6'
var id = number.toString(36).substr(2, 9);
但对于javascript代码重复以上运行此脚本时,我得到不同的UUID相同的客户端。
另一方面,上面的vbscript甚至为同一个客户端生成唯一的id。即使脚本运行一个单一的客户端电脑上千次,该脚本生成相同的ID,但对于另一台电脑,它会生成不同的ID。
我想这样做。任何人都可以帮助我做到这一点? (这是一个业务系统,客户已经批准我们获得他们的客户端计算机硬件标识符,那么我如何在asp.net/JAVAScript中做到这一点?)。
编辑 基本上我想这样做在Javascript东阳的ActiveX在VBScript中,我不能在IE之外的任何浏览器运行该脚本。我想克服这个限制。