const fs = require('fs');
// 生成随机值的函数
function getRandomValue() {
const randomNum = Math.floor(Math.random() * 100); // 生成 0 到 99 的随机数
return `random-${randomNum}`;
}
// 递归替换 JSON 对象中的值为随机值
function randomizeJsonValues(obj) {
if (typeof obj === 'object' && obj !== null) {
for (const key in obj) {
if (obj.hasOwnProperty(key)) {
if (typeof obj[key] === 'object') {
randomizeJsonValues(obj[key]);
} else {
obj[key] = getRandomValue();
}
}
}
}
}
// 读取 JSON 文件并处理
fs.readFile('data.json', 'utf8', (err, data) => {
if (err) {
console.error('读取文件失败:', err);
return;
}
try {
const jsonData = JSON.parse(data); // 解析 JSON 数据
randomizeJsonValues(jsonData); // 执行随机值替换
// 写入处理后的数据到新文件
fs.writeFile('data_desensitized.json', JSON.stringify(jsonData, null, 2), (err) => {
if (err) {
console.error('写入文件失败:', err);
} else {
console.log('处理完成,结果已写入 data_desensitized.json');
}
});
} catch (parseError) {
console.error('解析 JSON 失败:', parseError);
}
});
相关推荐
前端敏感信息脱敏:从原理到实战的完整解决方案
数据脱敏是数据安全领域的一项基础技术,其核心原理是在保留数据部分特征的同时,隐藏或替换其中的敏感信息,以平衡数据可用性与隐私保护。这项技术对于遵守GDPR等数据安全法规、防止信息泄露具有关键价值,广泛应用于金融、电商、社交等涉及用户隐私的业务场景。在前端工程实践中,实现高效、安全的脱敏处理,不仅能提升应用性能,减少不必要的数据传输,更是构建可信赖用户体验的重要环节。本文聚焦于JavaScript实现,深入探讨了针对手机号、身份证、邮箱等常见敏感数据的脱敏策略与性能优化方案,为前端开发者提供了一套从设计到落地
注解实现json序列化的时候自动进行数据脱敏
最近在进行开发的时候遇到一个问题,需要对用户信息进行脱敏处理,原有的方式是写一个util类,在需要脱敏的字段查出数据后,显示掉用方法处理后再set回去,觉得这种方式能实现功能,但是不是特别优雅,想找个比较优雅的实现。接口输出json,于是去查询了一下相关的资源,jackson可以指定某个字段的自定义序列化类,那么还有一个问题,我指定了用某个类进行序列化,但是在序列化的时候如果判断脱敏的类型呢,翻看网上大神的文章得知,是 Jackson 提供的另一个序列化相关的接口,它的作用是通过字段已知的上下文信息定制。
JSON.parse()与JSON.stringify():JavaScript数据契约的核心机制
JSON是一种与语言无关的轻量级数据交换格式,其核心价值在于定义前后端、存储层与运行时之间的标准化数据契约。JSON.parse()和JSON.stringify()并非简单编解码工具,而是严格遵循RFC 7159的协议转换器——前者执行语法与语义双重校验,确保输入字符串安全还原为JS基础类型;后者通过可枚举性检查、类型过滤与循环引用防护,实现有损但可控的序列化。这种单向映射导致Date、undefined、函数等类型必然丢失,构成前端开发中‘类型幻觉’与‘结构失真’的根源。因此,在API通信、localS
终极指南:objection.js中7种高效数据脱敏方法保护用户隐私
在当今数据驱动的世界中,保护用户隐私已成为开发者的首要任务。objection.js作为Node.js生态中最受欢迎的SQL友好型ORM,提供了一系列强大的数据脱敏和隐私保护功能。无论您是在构建电子商务平台、社交媒体应用还是企业管理系统,掌握这些数据脱敏技巧都至关重要。 ## 🛡️ 为什么数据脱敏如此重要? 数据脱敏不仅仅是技术需求,更是法律和道德责任。GDPR、CCPA等法规要求企业必须保
京东商品详情API数据清洗术:SKU反爬字段脱敏与结构化存储
在数字化浪潮的推动下,电商数据已成为企业洞察市场、优化策略、提升竞争力的核心资产。京东作为中国领先的电商平台,其海量的商品详情数据蕴藏着无尽的商业价值。然而,直接获取和有效利用这些数据并非易事,尤其是面对其复杂的反爬机制,特别是对核心字段如SKU(Stock Keeping Unit)的混淆与脱敏处理。本文将深入探讨如何对京东商品详情API数据进行高效清洗,特别是针对SKU反爬字段的脱敏与结构化存储,助您将杂乱无章的原始数据转化为可直接分析的宝贵资产。
JSON.parse与stringify实战指南:安全解析、可控序列化与工程避坑
JSON.parse和JSON.stringify是JavaScript中实现数据序列化与反序列化的基础API,其本质是遵循JSON标准的字符串与JS值之间的双向转换机制。理解它们不校验输入类型、不处理特殊对象、不支持循环引用等设计边界,是构建健壮Web应用的关键技术前提。二者在localStorage持久化、跨iframe通信、WebSocket消息收发、SSR状态水合等高频场景中承担着‘数据搬运’核心职责,但直接裸用极易引发SyntaxError、数据失真、XSS风险及内存溢出等问题。本文聚焦真实工程现
1、数据脱敏方案
数据脱敏就是将数据展示进行转换用我们的脱敏符号展示,例如手机号1234,前端展示为1*我们要是一个一个的用序列化器那就很麻烦了,所以我们使用一个自定义注解将各种序列化规则集成一下@JacksonAnnotationsInside注解的功能:注解不关注下面的类,而是上面的注解,我们就是要使用@JsonSerialize( using = DesensitizeSerialize.class)来进行序列化器。我们想要强调是这个其表明是JackSon这里包下面的处理json的。/*** 一个强大的各种序列化器*/
JSON.parse与stringify本质:JavaScript与JSON文本的严格双向转换
JSON是一种独立于语言的轻量级数据交换格式,而非JavaScript原生类型;其核心价值在于跨平台、跨语言的互操作性。JSON.parse()本质是RFC 7159标准的严格文本解析器,只接受双引号键名、无注释、无函数的纯字符串输入;JSON.stringify()则是受限的序列化器,自动忽略undefined、Function、Symbol等不可表示值。这种单向、无容错、强规范的设计,决定了它在API通信、本地存储、进程间消息传递等场景中既是桥梁也是雷区。理解其失真边界(如Date转字符串、循环引用报错
Jackson 库简介--以及数据脱敏
Jackson 是一个流行的 Java JSON 处理库,它提供了将 Java 对象与 JSON 数据相互转换的功能。Jackson 的主要功能包括:
轻量级JSON处理库JSON.js实战指南
toJSON()AJV 支持注册自定义关键字,比如验证邮箱域名匹配公司:},});结合i18n工具,还能实现多语言错误提示,提升用户体验。当你把 JSON 当作简单的字符串转换工具时,你只会遇到 bug。当你把它当作一套完整的数据治理体系来看待时,你才能构建真正可靠的系统。从精细化控制,到结构验证、语义表达、安全防护、性能优化……每一层都在告诉我们:数据的质量,决定了系统的上限。所以,别再随便了。问问自己:我清楚它的每一个行为吗?
API认证头脱敏门禁工具:从输入校验到离线报告的完整实现
项目编号:20260819-002。本文代码、测试、文档、示例数据和效果图均为独立编写,不包含热点产品或开源项目源码、品牌素材与官方截图。
漏洞解决方案-敏感信息脱敏显示
漏洞解决方案-敏感信息脱敏显示前置知识修复方案代码参考 前置知识 银行业务复杂繁多,前端与后台的信息交互频繁,容易出现敏感信息泄露问题。 威胁描述: 如果客户敏感信息泄露,将会对银行造成客户流失以及声誉的影响。 涉及功能点: 任何涉及客户敏感信息显示的功能点。 修复方案 js代码中应减少不必要的注释,避免暴露过多业务逻辑,防范敏感信息泄露,新功能上版本验证测试的时候可以对js代码压缩或者在开发阶段减少不必要的业务逻辑注释; 交易开发过程中,开发人员需要根据具体业务场景返回给页面或渠道相应数据,避免返回多
JavaScript对象转JSON字符串实战详解
今天我们聊了很多,从 JSON 的基本概念,到的三大参数,再到实战应用和高级封装。希望你能从中获得几点启发:不要低估简单的 API看似简单,实则蕴含丰富的设计哲学。理解比记忆更重要:知道replacer能干嘛不够,得明白它是如何一步步遍历对象的。工程思维不可或缺:在真实项目中,你需要考虑容错、性能、可维护性,而不仅仅是功能实现。封装带来自由:一个好的工具函数,能让团队效率提升一个数量级。下次当你再写的时候,不妨多问一句:“我真的了解它吗?” 🤔。
Campus-imaotai数据脱敏:敏感信息掩码处理
在i茅台预约系统中,用户手机号、身份证号等敏感信息需要严格保护。本文将详解Campus-imaotai项目如何通过注解驱动的掩码处理与加密机制,实现全链路数据安全防护。 ## 脱敏注解设计与实现 项目采用自定义注解+Jackson序列化器的方式实现字段级脱敏。核心注解定义在[Sensitive.java](https://link.gitcode.com/i/44a614d8469427e63...
几率大的网络安全面试题(含答案)
其他篇章:Java校招极大几率出的面试题(含答案)----汇总 本文面试题汇总: 防范常见的 Web 攻击 重要协议分布层 arp协议的工作原理 rip协议是什么?rip的工作原理 什么是RARP?工作原理 OSPF协议?OSPF的工作原理 TCP与UDP区别总结 什么是三次握手四次挥手? tcp为什么要三次握手? dns是什么?dns的工作原理 一次完整的HTTP请求过程 Cookies和ses...
VTK学习(入门级教程,包括安装和使用)~持续更新中
说明:研究QT+VTK有段时间了,准备把学到的东西分享给大家,这篇博客以VS+QT+VTK为主进行展开学习的。
Elasticsearch JS 自定义 ConnectionPool / Connection / Serializer、敏感信息脱敏与 v8 平滑迁移
serialize// 例如:处理 BigInt、安全过滤、稳定键序})实战建议Bulk 写入走,避免额外复制;控制行尾换行与内存峰值。对查询串(qserialize)可做白名单过滤与编码规范化,防注入/超长。热路径上注意逃逸创建与字符串拼接成本,必要时用生成器/缓冲区。
薅“刷宝”羊毛的autojs脚本教程,简单粗暴好用!!!
本教程旨在帮助大家实现用手机或闲置手机来进行“刷宝”平台的收益,能薅多少米就看你的本事了,作者教你的是如何用autojs来进行脚本的挂机教程,掌握了这个思路后,你可以根据自己的实际需要来改进脚本或者撸别的平台:) 适用系统,**android4.0以上,苹果机暂不适用**(大多数android系统手机都是7.0以上,要查看自己手机是android几,见文件夹“视频教程-基础”>1.查看android版本的方法)
ant design pro 数据脱敏(姓名/手机号)
utils.js export default class Utils { //str文本-type类型:name/姓名;phone/手机号 static onlySeeSome(str,type) { let arr = JSON.parse(localStorage.getItem('user')).roleList let isHideData = arr.find((item)=>item.roleKey == 'administrator') if(isHid
二叉树随机漫步
元旦快乐! 学习到中本聪bitcoin的文章的calculation部分的时候,出现了binomial random walk,不是很明白什么是random walk。发现这个文章写的很好:https://blog.youkuaiyun.com/fireguard/article/details/16111603 随机漫步,也叫随机游走,最早是物理学中做"布朗运动"的微观粒子的运动形态来形成的一个模型,布朗运...
DeepSeek赋能公文写作指南(一)
DeepSeek 的出现,为公文写作领域带来了新的曙光。作为先进的人工智能技术,DeepSeek 以其强大的语言理解与生成能力,能为公文写作提供全方位的支持。它可以快速梳理思路,提供丰富的素材参考,辅助优化语言表达,甚至能根据不同的公文类型和场景,生成极具价值的内容框架。《DeepSeek 赋能公文写作指南》正是基于此背景应运而生。本书旨在帮助公文写作者深入了解并充分利用 DeepSeek 这一强大工具,将其融入到公文写作的各个流程中。
【数据脱敏】⭐️SpringBoot 整合 Jackson 实现隐私数据加密
通过 Jackson 自定义序列化过程,实现统一全局数据脱敏处理
你学Simulink--基于储能系统的建模与仿真场景:飞轮储能系统在电网调频中的作用仿真
本文详细介绍了利用Simulink+Simscape搭建飞轮储能系统(FESS)电网调频仿真模型的全过程。主要内容包括:系统工作原理及调频作用分析,基于Simulink的模块化建模步骤(飞轮、电机/发电机、功率电子接口等组件搭建),调频控制策略实现(频率检测、功率指令生成和模式切换),以及仿真参数设置与结果分析方法。该模型可有效模拟FESS在电网频率调节中的快速响应特性,为新能源存储和智能电网研究提供重要仿真工具,同时可通过参数优化和算法改进进一步提升系统性能。
SequoiaDB数据脱敏:隐私保护技术实现
在数字化转型浪潮中,企业数据资产价值日益凸显,但随之而来的数据隐私泄露风险也愈发严峻。根据相关统计,2024年全球数据泄露平均成本达到445万美元,同比增长15%。面对这一挑战,SequoiaDB作为分布式文档型数据库,提供了一套完整的数据脱敏和隐私保护解决方案。 本文将深入探讨SequoiaDB在数据脱敏领域的技术实现,涵盖加密传输、数据掩码、访问控制等多维度保护机制,帮助企业在享受分布式数据...
2021年03月 C/C++(五级)真题解析#中国电子学会#全国青少年软件编程等级考试
给定一个十进制正整数n(0 < n < 1000000000),每个数位上数字均不为0。n的位数为m。现在从m位中删除k位(0
ESP32与INMP441麦克风模块实现音频传输
ESP32是一款低成本、低功耗的物联网开发板,支持Wi-Fi和蓝牙双模通信,内置双核处理器,适合音频处理和实时数据传输。INMP441是一款高性能数字麦克风模块,支持I2S接口,可提供高精度音频数据采集(24-bit分辨率,64-100 dB SNR)。
415



被折叠的 条评论
为什么被折叠?



