【前端】js通过canvas获取浏览器的唯一指纹可以当做唯一标识

2023-11-22 14:52

本文主要是介绍【前端】js通过canvas获取浏览器的唯一指纹可以当做唯一标识,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

【前端】js通过canvas获取浏览器的唯一指纹可以当做唯一标识

<!DOCTYPE html>
<html><head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width" /> <title>JS Bin</title> </head> <body> <script src="https://cdn.bootcss.com/blueimp-md5/2.10.0/js/md5.min.js"></script> <script>
var getCanvasFp = function (options) {options = options ? options : {};var result = []// Very simple now, need to make it more complex (geo shapes etc)var canvas = document.createElement('canvas')canvas.width = 2000canvas.height = 200canvas.style.display = 'inline'var ctx = canvas.getContext('2d')// detect browser support of canvas winding// http://blogs.adobe.com/webplatform/2013/01/30/winding-rules-in-canvas/// https://github.com/Modernizr/Modernizr/blob/master/feature-detects/canvas/winding.jsctx.rect(0, 0, 10, 10)ctx.rect(2, 2, 6, 6)result.push('canvas winding:' + ((ctx.isPointInPath(5, 5, 'evenodd') === false) ? 'yes' : 'no'))ctx.textBaseline = 'alphabetic'ctx.fillStyle = '#f60'ctx.fillRect(125, 1, 62, 20)ctx.fillStyle = '#069'// https://github.com/Valve/fingerprintjs2/issues/66if (options.dontUseFakeFontInCanvas) {ctx.font = '11pt Arial'} else {ctx.font = '11pt no-real-font-123'}ctx.fillText('Cwm fjordbank glyphs vext quiz, \ud83d\ude03', 2, 15)ctx.fillStyle = 'rgba(102, 204, 0, 0.2)'ctx.font = '18pt Arial'ctx.fillText('Cwm fjordbank glyphs vext quiz, \ud83d\ude03', 4, 45)// canvas blending// http://blogs.adobe.com/webplatform/2013/01/28/blending-features-in-canvas/// http://jsfiddle.net/NDYV8/16/ctx.globalCompositeOperation = 'multiply'ctx.fillStyle = 'rgb(255,0,255)'ctx.beginPath()ctx.arc(50, 50, 50, 0, Math.PI * 2, true)ctx.closePath()ctx.fill()ctx.fillStyle = 'rgb(0,255,255)'ctx.beginPath()ctx.arc(100, 50, 50, 0, Math.PI * 2, true)ctx.closePath()ctx.fill()ctx.fillStyle = 'rgb(255,255,0)'ctx.beginPath()ctx.arc(75, 100, 50, 0, Math.PI * 2, true)ctx.closePath()ctx.fill()ctx.fillStyle = 'rgb(255,0,255)'// canvas winding// http://blogs.adobe.com/webplatform/2013/01/30/winding-rules-in-canvas/// http://jsfiddle.net/NDYV8/19/ctx.arc(75, 75, 75, 0, Math.PI * 2, true)ctx.arc(75, 75, 25, 0, Math.PI * 2, true)ctx.fill('evenodd')if (canvas.toDataURL) { result.push('canvas fp:' + canvas.toDataURL()) }return result}let fingerPrintRawData = getCanvasFp()[1];
let fingerPrintHash = md5(fingerPrintRawData);
document.write("浏览器指纹 : " + fingerPrintHash);
</script>  </body>
</html>

canvas指纹(帆布指纹)_夏天然后的博客-CSDN博客

这篇关于【前端】js通过canvas获取浏览器的唯一指纹可以当做唯一标识的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/410927

相关文章

Python通用唯一标识符模块uuid使用案例详解

《Python通用唯一标识符模块uuid使用案例详解》Pythonuuid模块用于生成128位全局唯一标识符,支持UUID1-5版本,适用于分布式系统、数据库主键等场景,需注意隐私、碰撞概率及存储优... 目录简介核心功能1. UUID版本2. UUID属性3. 命名空间使用场景1. 生成唯一标识符2. 数

Python使用OpenCV实现获取视频时长的小工具

《Python使用OpenCV实现获取视频时长的小工具》在处理视频数据时,获取视频的时长是一项常见且基础的需求,本文将详细介绍如何使用Python和OpenCV获取视频时长,并对每一行代码进行深入解析... 目录一、代码实现二、代码解析1. 导入 OpenCV 库2. 定义获取视频时长的函数3. 打开视频文

浏览器插件cursor实现自动注册、续杯的详细过程

《浏览器插件cursor实现自动注册、续杯的详细过程》Cursor简易注册助手脚本通过自动化邮箱填写和验证码获取流程,大大简化了Cursor的注册过程,它不仅提高了注册效率,还通过友好的用户界面和详细... 目录前言功能概述使用方法安装脚本使用流程邮箱输入页面验证码页面实战演示技术实现核心功能实现1. 随机

MySQL 获取字符串长度及注意事项

《MySQL获取字符串长度及注意事项》本文通过实例代码给大家介绍MySQL获取字符串长度及注意事项,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录mysql 获取字符串长度详解 核心长度函数对比⚠️ 六大关键注意事项1. 字符编码决定字节长度2

python3如何找到字典的下标index、获取list中指定元素的位置索引

《python3如何找到字典的下标index、获取list中指定元素的位置索引》:本文主要介绍python3如何找到字典的下标index、获取list中指定元素的位置索引问题,具有很好的参考价值,... 目录enumerate()找到字典的下标 index获取list中指定元素的位置索引总结enumerat

前端如何通过nginx访问本地端口

《前端如何通过nginx访问本地端口》:本文主要介绍前端如何通过nginx访问本地端口的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、nginx安装1、下载(1)下载地址(2)系统选择(3)版本选择2、安装部署(1)解压(2)配置文件修改(3)启动(4)

HTML中meta标签的常见使用案例(示例详解)

《HTML中meta标签的常见使用案例(示例详解)》HTMLmeta标签用于提供文档元数据,涵盖字符编码、SEO优化、社交媒体集成、移动设备适配、浏览器控制及安全隐私设置,优化页面显示与搜索引擎索引... 目录html中meta标签的常见使用案例一、基础功能二、搜索引擎优化(seo)三、社交媒体集成四、移动

HTML input 标签示例详解

《HTMLinput标签示例详解》input标签主要用于接收用户的输入,随type属性值的不同,变换其具体功能,本文通过实例图文并茂的形式给大家介绍HTMLinput标签,感兴趣的朋友一... 目录通用属性输入框单行文本输入框 text密码输入框 password数字输入框 number电子邮件输入编程框

HTML img标签和超链接标签详细介绍

《HTMLimg标签和超链接标签详细介绍》:本文主要介绍了HTML中img标签的使用,包括src属性(指定图片路径)、相对/绝对路径区别、alt替代文本、title提示、宽高控制及边框设置等,详细内容请阅读本文,希望能对你有所帮助... 目录img 标签src 属性alt 属性title 属性width/h

如何在Mac上彻底删除Edge账户? 手动卸载Edge浏览器并清理残留文件技巧

《如何在Mac上彻底删除Edge账户?手动卸载Edge浏览器并清理残留文件技巧》Mac上的Edge账户里存了不少网站密码和个人信息,结果同事一不小心打开了,简直尴尬到爆炸,想要卸载edge浏览器并清... 如果你遇到 Microsoft Edge 浏览器运行迟缓、频繁崩溃或网页加载异常等问题,可以尝试多种方