设备指纹系列--基础篇

基础概念

618还没开始,但是又好像已经结束了…在这种电商大促的大节日前,电商行业客户一般会提前找到合适的设备指纹产品,去防止被“薅秃”。因为,黑灰产拥有专业的设备牧场,通过使用模拟器、刷机改机等手段,批量、反复地利用终端设备作案。对互联网场景下的金融、电商等行业,进行恶意爬取、虚假注册、账号盗用、薅羊毛、推广作弊等其他恶意行为。

image.png

而设备指纹,通过用户上网设备的硬件、网络、环境等设备特征信息, 生成可抗黑产破解的设备唯一标识。作为纵深防御风控体系下的重要工具,可实现对终端设备上的风险环境识别、风险检测及行为风险分析。

名称释义
AppId公钥,长度为32位字符串,接入渠道唯一标识。开通服务后可在设备指纹的二级菜单“应用管理”中获取,AppId在客户端接入时使用。
AppSecret私钥,长度为32位字符串,与公钥对应,开通服务后可在设备指纹的二级菜单“应用管理”中获取,请妥善保管,勿泄漏给他人 。AppSecret在后台查询设备详情时使用。
token设备指纹SDK采集上报后返回的标识,token不是设备指纹,通过token可以查询设备指纹
hardId设备指纹
用户前端Web端或集成SDK的Android端、iOS端
用户后端指企业的后台服务器

交互流程

image.png

  • 客户端接入,业务客户端需要集成指纹客户端SDK,包括安卓,iOS,H5,小程序等;通过客户端SDK可以获取到设备指纹token(注:token不是设备指纹)。

  • 业务接口扩展,业务客户端在需要设备指纹token的时候,可以通过相应的api获取到。业务接口需要把前端拿到的指纹token一并传入后台。

  • 后台接入,根据提供的后端SDK来查询设备详细信息,SDK涵盖Java,PHP等。

PS:因终端用户的设备网络环境和设备版本等因素,设备指纹采集率并不能一定达到100%,可能会存在极少部分未能正常采集到的情况。所以在集成指纹服务的时候,请尽量避免对指纹信息强依赖。

设备指纹的获取

常见的设备指纹获取方式:

  1. User-Agent 字符串:在 Web 浏览器环境中,可以通过读取用户代理(User-Agent)字符串来获取设备信息,包括操作系统、浏览器版本等。例如,在 JavaScript 中,可以使用 navigator.userAgent 来获取 User-Agent 字符串。
  2. IP 地址:通过获取设备的 IP 地址,可以对设备进行初步的区分。然而,IP 地址并非唯一标识设备的可靠方式,因为多个设备可能共享相同的 IP 地址(例如,通过 NAT 网络)。
  3. 操作系统信息:设备的操作系统信息也可以用于构建设备指纹。在不同的操作系统中,可能有各种系统调用、API 或命令可以获取该信息。
  4. 浏览器或应用程序特征:可以通过检查浏览器或应用程序的特定特征来获取设备指纹。例如,在 Web 浏览器中,可以使用 JavaScript 检测浏览器的插件、字体、屏幕分辨率等信息。
  5. 硬件信息:获取硬件信息也可以用于设备指纹的生成。例如,使用 JavaScript 可以读取设备的 CPU 信息、GPU 信息、设备的唯一标识符(如 Android 的 IMEI 或 iOS 的广告标识符)等。

基础代码:

import android.os.Build;
import android.provider.Settings;
import android.content.Context;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;public class DeviceFingerprint {// 获取设备指纹信息public static String getDeviceFingerprint(Context context) {StringBuilder fingerprint = new StringBuilder();// 获取设备的 Android IDString androidId = Settings.Secure.getString(context.getContentResolver(), Settings.Secure.ANDROID_ID);fingerprint.append(androidId);// 获取设备的序列号String serial = Build.SERIAL;fingerprint.append(serial);// 获取设备的硬件信息String hardware = Build.HARDWARE;fingerprint.append(hardware);// 获取设备的制造商和型号String manufacturer = Build.MANUFACTURER;String model = Build.MODEL;fingerprint.append(manufacturer).append(model);// 获取设备的唯一标识符String uniqueId = getUniqueId();fingerprint.append(uniqueId);// 对设备指纹信息进行哈希处理String hashedFingerprint = hashString(fingerprint.toString());return hashedFingerprint;}// 生成设备的唯一标识符private static String getUniqueId() {String uniqueId = "";try {// 获取设备的唯一标识符(可根据需求自定义)// 例如,可以使用 IMEI(需要权限)或其他标识符uniqueId = "YOUR_UNIQUE_ID";} catch (Exception e) {e.printStackTrace();}return uniqueId;}// 对字符串进行哈希处理private static String hashString(String input) {try {MessageDigest digest = MessageDigest.getInstance("SHA-256");byte[] hashBytes = digest.digest(input.getBytes());StringBuilder stringBuilder = new StringBuilder();for (byte b : hashBytes) {stringBuilder.append(Integer.toString((b & 0xff) + 0x100, 16).substring(1));}return stringBuilder.toString();} catch (NoSuchAlgorithmException e) {e.printStackTrace();return "";}}
}

以上。

如需要免费体验设备指纹:顶象设备指纹

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/352223.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

仿蘑菇街个人主页

效果图: 看到效果图,第一想到的大致布局是一个scrollview嵌套一个viewpage,viewpage里面有一两个fragment或者写成一个fragment。但是fragment肯定包含两个布局,一个是含有图片(gridview)的listview,另一个布局是只含有…

App竞品分析报告:美丽说VS蘑菇街

1.产品概况 iOS App Store中国区iPhone免费-生活类排名(最近3个月) 数据来源:ann9.com 蘑菇街排名基本稳定在Top 10至20之间,美丽说在8月下旬后基本游离在Top 30外。 2015年6月活跃用户数比对-iOS端 数据说明:MAU为月…

社会化购物:Pinterest,Fancy还是美丽说,蘑菇街?

转自:网站分析在中国 原文地址:http://www.chinawebanalytics.cn/social-shopping-pinterest-or-fancy/ 【每期一句】越强烈的网络效应,越接近成功。 【前言】这篇文章是应 的邀请所做。很高兴能有机会与几年前一样,分析一个细分行…

仿蘑菇街项目

引言 仿蘑菇街的Vue.js项目是我学习vue.js做的第一个项目,今天来重温一下项目实现的功能,记录一下,方便以后查看。首先需要创建项目,本项目采用cli-3脚手架创建项目,采用默认安装模式,没有安装vue-router和…

高仿蘑菇街欢迎页

####蘑菇街欢迎页 ####高仿效果 这里这里…Demo下载地址 #####前言 本文将介绍如何对蘑菇街欢迎页效果进行分析,拆分,并一步步实现1个高仿版本,最重要的设计思路包括以下2点: 1.ViewPager切换时,通过offset偏移量动…

美丽说蘑菇街首页效果(UITableView和UIScrollerView联动)

作为一名菜鸟iOS开发程序员,第一次写文章,有点小激动!进入正题,最近项目中有个需求,类似美丽说蘑菇街首页效果,在网上找了一些资料后自己研究了下终于搞定了! 先看效果: 接下来详细…

【Linux】Nginx 优化与防盗链

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 Nginx 优化与防盗链 一、隐藏版本号方法一:修改配置文件方式方法二:修改源码文件,重新编译安装 二、修改用户与组三、缓存时间四、日志切割…

操作系统的最强入门科普(Unix/Linux篇)

今天这篇文章,我们来聊聊操作系统(Operating System)。 说到操作系统,大家都不会陌生。我们天天都在接触操作系统——用台式机或笔记本电脑,使用的是windows和macOS系统;用手机、平板电脑,则是a…

PDF文件无法编辑怎么办

PDF文件无法编辑是因为设置了编辑限制,只要在设置密码的地方输入密码把密码取消就可以自由编辑文件了。如果不知道密码或者忘记了密码,只能使用第三方的解密软件把密码解除掉,现在有很多PDF的辅助软件,可以在网上搜到很多&#xf…

SpringBoot实现服务器PDF文件的下载和预览功能

🍅程序员小王的博客:程序员小王的博客 🍅 欢迎点赞 👍 收藏 ⭐留言 📝 🍅 如有编辑错误联系作者,如果有比较好的文章欢迎分享给我,我会取其精华去其糟粕 🍅java自学的学习…

PDF文件不能编辑,有什么办法能够解决?

PDF文件打开之后发现不能编辑,很有可能是因为PDF文件设置了限制编辑。一般来说,想要解决问题,我们只需要将PDF编辑限制解除就可以了 但是大家有时候可能是不知道PDF密码的,那么在不知道PDF密码的情况下,如何解决不能编…

java利用itext编辑pdf

最近项目需要,在调研如何在pdf中增加标识字样,用来区分版本.最后确定用itext来实现 . itext的官网是:http://www.itextpdf.com/ 代码如下: Java代码 /** * authory kingviker * time : 2012-12-12 */ import java.io.FileOutputStream; import java.io.IOExcepti…

java设置pdf不可编辑_禁止编辑,但允许在Java iText / PDF中进行页面提取

我正在使用iText生成PDF文件 . 我想禁止编辑PDF,但允许读者提取页面 . 这是我设置加密的代码: writer.setEncryption(null, null, 0xffffffff, PdfWriter.STANDARD_ENCRYPTION_128); 第三个参数指定权限 . 我正在使用0xffffffff而不是单独的iText标志ALL…

HTML5 PDF 编辑,pdf.js的使用与改造

一、前期准备 1.1 需求描述 1.想让各个浏览器能显示服务器存放的PDF文件(主要是手机的浏览器) 2.想让项目结构如下:lib目录存放pdf.js等依赖文件,src存放要显示的pdf文件 想要的项目结构 3.这样我就可以将这个项目放到我网站的任何目录下,比如放到PDF或者别的文件夹下 PDF目…

如何免费编辑PDF文档?

我们都知道PDF文档不像Word文档一样可以直接编辑修改,想要编辑PDF文档,我们就需要借助专业的PDF编辑器。今天小编就给大家推荐一款可以免费编辑PDF文档的工具“金闪PDF编辑器”。 金闪PDF编辑器是一款功能齐全的强大的PDF工具,目前有移动端安…

PDF文件编辑并去除水印

我相信很多博友肯定被这个问题烦恼过,并且当初我自己也因为这个事情熬的掉了好几根头发,这件事就是PDF文件编辑过后会留下很严重的水印,并且无法除去,想去除就得花钱购买会员,想白嫖都没有办法,接下来我就为…

怎么编辑PDF文件?分享三种好用的编辑方法

怎么编辑PDF文件中的内容呢?大家在日常使用PDF文件的过程中肯定遇到过需要编辑文件的需求,因为我们不能保证每个文件中的内容都不会出错,问题是PDF文件不容易改动,我们怎么做才能够编辑PDF文件呢?不用着急,…

如何编辑PDF文件?编辑PDF的方法有哪些?

PDF文件是一种广泛使用的文档格式,通常用于共享和阅读文档,如电子书、报告、合同等。但是,有时候您可能需要编辑PDF文件。编辑PDF文件可能听起来很困难,但是有许多方法可以轻松地编辑PDF文件。本文将探讨几种最常见的编辑PDF文件的…

PDF编辑:Adobe Acrobat X Pro 官方原版下载+中文汉化补丁

Adobe在10月份发布了新一代Acrobat X软件家族,其中包括PDF创建编辑软件Acrobat X Pro,因为Acrobat X Pro是Acrobat Pro 9.0的后续版本,故也有人称其为Acrobat Pro 10.0。虽然Aodbe Acrobat X Pro正式版发布许久了,但Acrobat X Pro 简体中文版…

Windows系统下的PDF编辑工具软件-PDF编辑器下载

PDF编辑器是一款Windows系统下的PDF编辑工具软件,它支持修改编辑PDF文件并向PDF添加文字、擦除内容、插入图片、绘制直线、加椭圆框、加矩形框和旋转PDF等功能。PDF编辑器可以让您在PDF文件的任何位置添加文字、删除内容、加图片或进行其他编辑,简单的如…