js对json数据内容进行简单脱敏

自定义Json注解实现输出日志字段脱敏 背景: 在日志输出的时候,有时会输出一些用户的敏感信息,如手机号,身份证号,银行卡号等,现需要对这些信息在日志输出的时候进行脱敏处理 思路: 使用fastjson的ValueFilter对带有自定义注解的字段进行过滤 阅读详情
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);
    }
});

手机号、身份证号类似脱敏处理(ETL) 先上代码:========》 //测试消费 /* inputDstream.map(_.value()).foreachRDD(rdd => println(rdd.collect().mkString("\n")) )*/ val orderInfoDstrearm: DStream[OrderInfo] = inputDstream.map {... 阅读详情

相关推荐

前端敏感信息脱敏:从原理到实战的完整解决方案

数据脱敏是数据安全领域的一项基础技术,其核心原理是在保留数据部分特征的同时,隐藏或替换其中的敏感信息,以平衡数据可用性与隐私保护。这项技术对于遵守GDPR等数据安全法规、防止信息泄露具有关键价值,广泛应用于金融、电商、社交等涉及用户隐私的业务场景。在前端工程实践中,实现高效、安全的脱敏处理,不仅能提升应用性能,减少不必要的数据传输,更是构建可信赖用户体验的重要环节。本文聚焦于JavaScript实现,深入探讨了针对手机号、身份证、邮箱等常见敏感数据的脱敏策略与性能优化方案,为前端开发者提供了一套从设计到落地

weixin_33882452的博客 415

注解实现json序列化的时候自动进行数据脱敏

最近在进行开发的时候遇到一个问题,需要对用户信息进行脱敏处理,原有的方式是写一个util类,在需要脱敏的字段查出数据后,显示掉用方法处理后再set回去,觉得这种方式能实现功能,但是不是特别优雅,想找个比较优雅的实现。接口输出json,于是去查询了一下相关的资源,jackson可以指定某个字段的自定义序列化类,那么还有一个问题,我指定了用某个类进行序列化,但是在序列化的时候如果判断脱敏的类型呢,翻看网上大神的文章得知,是 Jackson 提供的另一个序列化相关的接口,它的作用是通过字段已知的上下文信息定制。

t194978的博客 1047

JSON.parse()与JSON.stringify():JavaScript数据契约的核心机制

JSON是一种与语言无关的轻量级数据交换格式,其核心价值在于定义前后端、存储层与运行时之间的标准化数据契约。JSON.parse()和JSON.stringify()并非简单编解码工具,而是严格遵循RFC 7159的协议转换器——前者执行语法与语义双重校验,确保输入字符串安全还原为JS基础类型;后者通过可枚举性检查、类型过滤与循环引用防护,实现有损但可控的序列化。这种单向映射导致Date、undefined、函数等类型必然丢失,构成前端开发中‘类型幻觉’与‘结构失真’的根源。因此,在API通信、localS

chuannaoxuan4674的博客 450

终极指南:objection.js中7种高效数据脱敏方法保护用户隐私

在当今数据驱动的世界中,保护用户隐私已成为开发者的首要任务。objection.js作为Node.js生态中最受欢迎的SQL友好型ORM,提供了一系列强大的数据脱敏和隐私保护功能。无论您是在构建电子商务平台、社交媒体应用还是企业管理系统,掌握这些数据脱敏技巧都至关重要。 ## 🛡️ 为什么数据脱敏如此重要? 数据脱敏不仅仅是技术需求,更是法律和道德责任。GDPR、CCPA等法规要求企业必须保

gitblog_00895的博客 1046

京东商品详情API数据清洗术:SKU反爬字段脱敏与结构化存储

在数字化浪潮的推动下,电商数据已成为企业洞察市场、优化策略、提升竞争力的核心资产。京东作为中国领先的电商平台,其海量的商品详情数据蕴藏着无尽的商业价值。然而,直接获取和有效利用这些数据并非易事,尤其是面对其复杂的反爬机制,特别是对核心字段如SKU(Stock Keeping Unit)的混淆与脱敏处理。本文将深入探讨如何对京东商品详情API数据进行高效清洗,特别是针对SKU反爬字段的脱敏与结构化存储,助您将杂乱无章的原始数据转化为可直接分析的宝贵资产。

2501_92467462的博客 2522

JSON.parse与stringify实战指南:安全解析、可控序列化与工程避坑

JSON.parse和JSON.stringify是JavaScript中实现数据序列化与反序列化的基础API,其本质是遵循JSON标准的字符串与JS值之间的双向转换机制。理解它们不校验输入类型、不处理特殊对象、不支持循环引用等设计边界,是构建健壮Web应用的关键技术前提。二者在localStorage持久化、跨iframe通信、WebSocket消息收发、SSR状态水合等高频场景中承担着‘数据搬运’核心职责,但直接裸用极易引发SyntaxError、数据失真、XSS风险及内存溢出等问题。本文聚焦真实工程现

weixin_33811539的博客 461

1、数据脱敏方案

数据脱敏就是将数据展示进行转换用我们的脱敏符号展示,例如手机号1234,前端展示为1*我们要是一个一个的用序列化器那就很麻烦了,所以我们使用一个自定义注解将各种序列化规则集成一下@JacksonAnnotationsInside注解的功能:注解不关注下面的类,而是上面的注解,我们就是要使用@JsonSerialize( using = DesensitizeSerialize.class)来进行序列化器。我们想要强调是这个其表明是JackSon这里包下面的处理json的。/*** 一个强大的各种序列化器*/

分享JAVA/ Python/ Ts学习路上的一些笔记,不足之处多多见谅。 1932

JSON.parse与stringify本质:JavaScript与JSON文本的严格双向转换

JSON是一种独立于语言的轻量级数据交换格式,而非JavaScript原生类型;其核心价值在于跨平台、跨语言的互操作性。JSON.parse()本质是RFC 7159标准的严格文本解析器,只接受双引号键名、无注释、无函数的纯字符串输入;JSON.stringify()则是受限的序列化器,自动忽略undefined、Function、Symbol等不可表示值。这种单向、无容错、强规范的设计,决定了它在API通信、本地存储、进程间消息传递等场景中既是桥梁也是雷区。理解其失真边界(如Date转字符串、循环引用报错

weixin_34269583的博客 433

Jackson 库简介--以及数据脱敏

Jackson 是一个流行的 Java JSON 处理库,它提供了将 Java 对象与 JSON 数据相互转换的功能。Jackson 的主要功能包括:

weixin_46520767的博客 1156

轻量级JSON处理库JSON.js实战指南

toJSON()AJV 支持注册自定义关键字,比如验证邮箱域名匹配公司:},});结合i18n工具,还能实现多语言错误提示,提升用户体验。当你把 JSON 当作简单的字符串转换工具时,你只会遇到 bug。当你把它当作一套完整的数据治理体系来看待时,你才能构建真正可靠的系统。从精细化控制,到结构验证、语义表达、安全防护、性能优化……每一层都在告诉我们:数据的质量,决定了系统的上限。所以,别再随便了。问问自己:我清楚它的每一个行为吗?

weixin_33773084的博客 1126

API认证头脱敏门禁工具:从输入校验到离线报告的完整实现

项目编号:20260819-002。本文代码、测试、文档、示例数据和效果图均为独立编写,不包含热点产品或开源项目源码、品牌素材与官方截图。

编程狐科技 219

漏洞解决方案-敏感信息脱敏显示

漏洞解决方案-敏感信息脱敏显示前置知识修复方案代码参考 前置知识 银行业务复杂繁多,前端与后台的信息交互频繁,容易出现敏感信息泄露问题。 威胁描述: 如果客户敏感信息泄露,将会对银行造成客户流失以及声誉的影响。 涉及功能点: 任何涉及客户敏感信息显示的功能点。 修复方案 js代码中应减少不必要的注释,避免暴露过多业务逻辑,防范敏感信息泄露,新功能上版本验证测试的时候可以对js代码压缩或者在开发阶段减少不必要的业务逻辑注释; 交易开发过程中,开发人员需要根据具体业务场景返回给页面或渠道相应数据,避免返回多

smart的博客 7884

JavaScript对象转JSON字符串实战详解

今天我们聊了很多,从 JSON 的基本概念,到的三大参数,再到实战应用和高级封装。希望你能从中获得几点启发:不要低估简单的 API看似简单,实则蕴含丰富的设计哲学。理解比记忆更重要:知道replacer能干嘛不够,得明白它是如何一步步遍历对象的。工程思维不可或缺:在真实项目中,你需要考虑容错、性能、可维护性,而不仅仅是功能实现。封装带来自由:一个好的工具函数,能让团队效率提升一个数量级。下次当你再写的时候,不妨多问一句:“我真的了解它吗?” 🤔。

weixin_35753291的博客 1068

Campus-imaotai数据脱敏:敏感信息掩码处理

在i茅台预约系统中,用户手机号、身份证号等敏感信息需要严格保护。本文将详解Campus-imaotai项目如何通过注解驱动的掩码处理与加密机制,实现全链路数据安全防护。 ## 脱敏注解设计与实现 项目采用自定义注解+Jackson序列化器的方式实现字段级脱敏。核心注解定义在[Sensitive.java](https://link.gitcode.com/i/44a614d8469427e63...

gitblog_00626的博客 718

几率大的网络安全面试题(含答案)

其他篇章:Java校招极大几率出的面试题(含答案)----汇总 本文面试题汇总: 防范常见的 Web 攻击 重要协议分布层 arp协议的工作原理 rip协议是什么?rip的工作原理 什么是RARP?工作原理 OSPF协议?OSPF的工作原理 TCP与UDP区别总结 什么是三次握手四次挥手? tcp为什么要三次握手? dns是什么?dns的工作原理 一次完整的HTTP请求过程 Cookies和ses...

睶 6万+

VTK学习(入门级教程,包括安装和使用)~持续更新中

说明:研究QT+VTK有段时间了,准备把学到的东西分享给大家,这篇博客以VS+QT+VTK为主进行展开学习的。

HXX904的博客 4758

Elasticsearch JS 自定义 ConnectionPool / Connection / Serializer、敏感信息脱敏与 v8 平滑迁移

serialize// 例如:处理 BigInt、安全过滤、稳定键序})实战建议Bulk 写入走,避免额外复制;控制行尾换行与内存峰值。对查询串(qserialize)可做白名单过滤与编码规范化,防注入/超长。热路径上注意逃逸创建与字符串拼接成本,必要时用生成器/缓冲区。

hello.reader 1179

薅“刷宝”羊毛的autojs脚本教程,简单粗暴好用!!!

本教程旨在帮助大家实现用手机或闲置手机来进行“刷宝”平台的收益,能薅多少米就看你的本事了,作者教你的是如何用autojs来进行脚本的挂机教程,掌握了这个思路后,你可以根据自己的实际需要来改进脚本或者撸别的平台:) 适用系统,**android4.0以上,苹果机暂不适用**(大多数android系统手机都是7.0以上,要查看自己手机是android几,见文件夹“视频教程-基础”>1.查看android版本的方法)

rousseaou8的博客 8万+

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

你好!刘斩仙 1733

二叉树随机漫步

元旦快乐! 学习到中本聪bitcoin的文章的calculation部分的时候,出现了binomial random walk,不是很明白什么是random walk。发现这个文章写的很好:https://blog.youkuaiyun.com/fireguard/article/details/16111603 随机漫步,也叫随机游走,最早是物理学中做"布朗运动"的微观粒子的运动形态来形成的一个模型,布朗运...

gjq5464的博客 1737

DeepSeek赋能公文写作指南(一)

DeepSeek 的出现,为公文写作领域带来了新的曙光。作为先进的人工智能技术,DeepSeek 以其强大的语言理解与生成能力,能为公文写作提供全方位的支持。它可以快速梳理思路,提供丰富的素材参考,辅助优化语言表达,甚至能根据不同的公文类型和场景,生成极具价值的内容框架。《DeepSeek 赋能公文写作指南》正是基于此背景应运而生。本书旨在帮助公文写作者深入了解并充分利用 DeepSeek 这一强大工具,将其融入到公文写作的各个流程中。

通俗易懂学IT 5484

【数据脱敏】⭐️SpringBoot 整合 Jackson 实现隐私数据加密

通过 Jackson 自定义序列化过程,实现统一全局数据脱敏处理

产品经理克星(狗头) 1430

你学Simulink--基于储能系统的建模与仿真场景:飞轮储能系统在电网调频中的作用仿真

本文详细介绍了利用Simulink+Simscape搭建飞轮储能系统(FESS)电网调频仿真模型的全过程。主要内容包括:系统工作原理及调频作用分析,基于Simulink的模块化建模步骤(飞轮、电机/发电机、功率电子接口等组件搭建),调频控制策略实现(频率检测、功率指令生成和模式切换),以及仿真参数设置与结果分析方法。该模型可有效模拟FESS在电网频率调节中的快速响应特性,为新能源存储和智能电网研究提供重要仿真工具,同时可通过参数优化和算法改进进一步提升系统性能。

xiaoheshang_123的博客 168

SequoiaDB数据脱敏:隐私保护技术实现

在数字化转型浪潮中,企业数据资产价值日益凸显,但随之而来的数据隐私泄露风险也愈发严峻。根据相关统计,2024年全球数据泄露平均成本达到445万美元,同比增长15%。面对这一挑战,SequoiaDB作为分布式文档型数据库,提供了一套完整的数据脱敏和隐私保护解决方案。 本文将深入探讨SequoiaDB在数据脱敏领域的技术实现,涵盖加密传输、数据掩码、访问控制等多维度保护机制,帮助企业在享受分布式数据...

gitblog_00961的博客 887

2021年03月 C/C++(五级)真题解析#中国电子学会#全国青少年软件编程等级考试

给定一个十进制正整数n(0 < n < 1000000000),每个数位上数字均不为0。n的位数为m。现在从m位中删除k位(0

人生就是一个不断学习的过程 1011

ESP32与INMP441麦克风模块实现音频传输

ESP32是一款低成本、低功耗的物联网开发板,支持Wi-Fi和蓝牙双模通信,内置双核处理器,适合音频处理和实时数据传输。INMP441是一款高性能数字麦克风模块,支持I2S接口,可提供高精度音频数据采集(24-bit分辨率,64-100 dB SNR)。

走向CTO的路上... 2040
上一篇: json存入mysql的一种设计方案
下一篇: 果壳英语部分
etsuyou
博客等级 码龄7年 160粉丝 35原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值