问题标签 [data-masking]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
4977 浏览

sql - 如何匿名化 SQL 中的数据?

我需要匿名化 SQL 数据中的变量(VAR NAME = "ArId")

变量包含10 numbers + 1 letter + 2 numbers. 我需要随机化前 10 个数字,然后保留字母 + 最后两个数字。

我已经尝试过该rand()功能,但这会使整个值随机化。

我只加载了数据。

编辑(来自“答案”):

我试过: UPDATE someTable SET someColumn = CONCAT(CAST(RAND() * 10000000000 as BIGINT), RIGHT(someColumn, 3))

但是,由于我对 SQL 完全陌生,所以我不知道如何进行这项工作。我为要创建的变量输入了 'someColumn = new column name。RIGHT(someColumn) = 我正在更改的列。当我这样做时,我得到正确的函数需要 2 个参数的消息?

Zohar 的示例:我有一个变量,例如:1724981628R01在这个变量中的所有这些值上,我想随机化前 10 个字母并保留最后三个(R01)。我怎样才能做到这一点?

0 投票
1 回答
63 浏览

c - “位掩码”条件未返回正确值

位掩码未返回正确的值

我正在尝试解决这种情况,我总是得到 8 作为返回值。我不确定读取位操作的条件。

我不明白这种情况是如何变得真实的(输出字节 [1] 和 11)?

0 投票
1 回答
363 浏览

javascript - 在 JavaScript 中同时使用字符串替换和正则表达式时如何获取捕获组的长度?

我试图通过用 javaScript 字符串替换函数将私有数据的某些部分替换为星号(*)来实现一个简单的数据屏蔽函数。

所以我所做的如下:

它以某种方式按预期工作,但我仍然想做一些小的改进,例如可以转移,名称:“吴青峰”->名称:“吴*峰”,名称:“王张玉成”->名称:“王**成”,电话:“15812346584”->电话:“158****6584”等。

也就是说,在替换的部分添加多个星号(),星号()的数量应该等于String.replace()期间捕获的组的长度。

正如注释行所表明的那样,我尝试过'*'.repeat(RegExp.$2.length)之类的东西,难题是RegExp.$n只能在String.replace()函数完成后才能获得价值,这会导致错位.

因此,请问有什么方法可以在 String.replace() 函数期间同时获取捕获组的长度吗?

0 投票
1 回答
2991 浏览

javascript - 编辑屏蔽输入时如何获得正确的值(自定义屏蔽)

我有两个输入(屏蔽和未屏蔽)和一个用作显示/隐藏按钮的切换按钮。它的工作原理与密码屏蔽类似,只是它只屏蔽字符串中的某些字符。无论我在unmasked文本框中输入什么,createMask都会调用函数并将结果显示在masked文本框中。

问题是,当显示屏蔽文本框并且我编辑值时,它应该更新未屏蔽文本框中的值。

例如,12345678->1XXXX678

然后我将编辑1XXXX6781XXXX619

当我单击按钮取消屏蔽时,它应该显示12345619

为了更好地理解,这里是完整的代码:jsfiddle

0 投票
2 回答
853 浏览

java - 特定格式的数据屏蔽

给定一个字符串

“62591000756”

如何对字符串执行屏蔽,以便前 6 个字符和后 2 个字符以纯文本显示,其余字符替换为 "X" ?例如,

“625910XXX56”

如何在 java 代码和 oracle sql 中完成这种屏蔽?在这种情况下有没有可能使用正则表达式的方法?(如上例所示,字符数不限于11个)

0 投票
1 回答
1303 浏览

python - Python:屏蔽电子邮件文本中的命名实体

我创建了一个 python 脚本来提取命名实体,如下所示:

** 输出 **

现在我想用“######”之类的模式屏蔽这些命名实体,以通过隐藏客户敏感信息来遵循 GDPR 规定。

我尝试了以下选项:

  1. 在原始数据帧上应用循环 - 检查命名实体数据帧中存在的命名实体的文本 - 用“#####”屏蔽命名实体。

  2. 定义一个用于在 Text 中屏蔽命名实体的函数:

dataset_unseen['Text'] = dataset_unseen.apply(Detectner,axis=1)

但我得到以下错误:

AttributeError: ("'list' object has no attribute 'sub'", 'occurred at index 0')

如何提取和屏蔽 Text 中的命名实体。对此代码的任何改进都非常受欢迎!

0 投票
1 回答
83 浏览

oracle - 用于 oracle、db2 和 sap 的测试数据管理解决方案

我有 3 个不同的数据库(oracle、sap、db2)并且想在 oracle db 上实现数据屏蔽,因为数据流向 sap 和 db2 我该如何解决这个问题?oracle 中的数据与 db2 和 sap 进行比较,例如,如果我在 oracle 中屏蔽名字,那么在 sap 和 db2 将不会屏蔽相同的名称。那么有没有办法取消屏蔽并将数据发送到下游系统?

0 投票
1 回答
3558 浏览

python - 用 Python 以有效的方法实现数据匿名化

大家好,我重新发布了这个问题,因为我之前的问题违反了 StackOverflow 规则

我想创建一个 python 脚本,可以在不删除其内容的情况下屏蔽/匿名每个 csv 列中的信息。因为数据将用于进一步分析和做一些统计建模。数据主要包含用户 ID、项目 ID、客户 ID、客户地址、客户姓名、订单类型、电子邮件地址。我有点坚持目前的进展,因为我想让这个过程更有效

  1. 我怎样才能使这个过程更具可扩展性,这意味着我不需要为每个 CSV 文件创建一个脚本,而是更深入地了解如何使用某种技术将脚本应用于每个 CSV 文件,而无需从头开始重写?

我目前的方法:我现在的方法是通过对每一列做一些事情来处理每一列。例如用户 ID,我将其替换为唯一值前面的附加字符串(例如,由于第一行中的用户 ID 1234,它被替换为 user_0)

请给我一些建议,我想讨论一下,以便我可以做一个更有效的方法

编辑:这是数据的样子(我希望我把它放在允许的格式)

我想首先尝试的预期输出示例:

这是我当前的代码

0 投票
2 回答
172 浏览

database - 在 Hybris 中屏蔽某些用户特定数据

我们有一个要求,我们需要在 Hybris 的数据库级别屏蔽用户数据,例如电子邮件 ID。让我们知道如何在 Hybris 中完成掩蔽活动的理想方法。

- 我们是否需要单独屏蔽后台的数据和单独的hac?-我们可以直接屏蔽数据库中的数据而不影响网站和管理控制台吗?

直接在数据库中屏蔽数据是否是一种理想的方法。

0 投票
0 回答
122 浏览

encryption - 如何在cakephp 3中屏蔽解密的输入字段

我想将用户的加密社会保险号码(SIN)存储在数据库中并解密并显示 ***-***-***在用户的编辑页面上。我在模型文件中使用 beforeSave 和 beforeFind 函数进行加密和解密。它工作正常。但是如何 ***-***-***在编辑页面上显示解密的 SIN?