c#获取对象的唯一标识_【实战】前端获取浏览器唯一标识

本文介绍了如何在C#中获取对象的唯一标识,并探讨了在前端如何获取浏览器的唯一标识,强调根据业务理解生成个性化标识的重要性。
摘要由CSDN通过智能技术生成
点击 上方蓝字 关注我们 7925582c0324a58ee04751a28084cd47.png

阅读本文大概需要3分钟。

最近老陈在自己倒腾一些东西,然后其中就用到了一些跟踪技术,以前获取一些用户路径跟踪主要靠的是cookie标识,但是这一种的话并不能解决很大程度上,前端浏览器唯一标识的问题,有这个唯一标识我们就能够针对使用手机或者pc端上特定的浏览器给他建立一个身份,并且根据这个身份记录一些他的习惯。 1.通过canvas来绘制指纹信息 由于不同的系统显卡在绘制canvas时渲染的各个参数不同,所以绘制出来的图片的数据的crc校验是不一样的,所以我们可以根据这个来生成浏览器的指纹信息。
function getId () {  const canvas = document.getElementById('canvas')  const ctx = canvas.getContext('2d')  ctx.font = '16px Arial'  ctx.fillStyle = '#ccc'  ctx.fillText('hello, shanyue', 2, 2)  return canvas.toDataURL('image/jpeg')}
解读一下代码,获取base64的dataurl,对这个dataurl进行md5计算就可以了。 2.使用成熟的第三方库fingerprintjs2 主要他会根据以下几种来获取浏览器指纹信息。 canvas、webgl、UserAgent、AudioContext、对新式API的支持等。
requestIdleCallback(function () {  Fingerprint2.get((components) => {    const values = components.map((component) => component.value)    const fp = Fingerprint2.x64hash128(values.join(''), 31)  })})

components也有一些分类,里面有一些components是稳定的,有一些是不稳定的,所以要根据自己对于业务的理解生成属于自己的唯一标识。

   扫描关注

老陈说前端

想象不到的干货

d75762e683128a335d62a64cb86e4c39.png   
C#获取硬件的唯一标识可以使用`System.Management`命名空间中的`ManagementObjectSearcher`类和`Win32_ComputerSystemProduct`类来实现。 首先,您需要在代码文件中添加对`System.Management`命名空间的引用: ```csharp using System.Management; ``` 然后,可以使用以下代码获取计算机系统产品的唯一标识: ```csharp public static string GetHardwareUniqueID() { string hardwareID = string.Empty; ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_ComputerSystemProduct"); ManagementObjectCollection collection = searcher.Get(); foreach (ManagementObject obj in collection) { hardwareID = obj.Properties["UUID"].Value.ToString(); break; // 只获取第一个计算机系统产品 } return hardwareID; } ``` 上述代码使用了`ManagementObjectSearcher`类来搜索并获取`Win32_ComputerSystemProduct`类的实例。然后,通过遍历集合获取第一个实例,并从中获取唯一标识属性(UUID)的值。 请注意,获取的硬件唯一标识可能因不同硬件和操作系统而异。在某些情况下,可能无法获取唯一标识或者获取到的标识不是硬件相关的。此外,需要以管理员权限运行应用程序才能访问这些硬件信息。 另外,硬件唯一标识不适合用于身份验证或安全目的。它仅用于标识硬件设备,并不保证其唯一性。如果需要进行身份验证或安全相关的操作,建议使用其他更可靠的方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值