hive 对某个字段进行脱敏,从第7个字符开始替换8个字符为'********',例如 03787297 替换为037872******** 怎么做
时间: 2023-11-25 14:51:27 浏览: 58
可以使用Hive内置函数substr和concat实现对某个字段进行脱敏,从第7个字符开始替换8个字符为'********'的操作。具体步骤如下:
1.使用substr函数获取原始字符串中前6个字符和需要脱敏的字符段,然后使用concat函数将两个字符串拼接起来,得到需要脱敏的字符串。
2.使用concat函数将原始字符串中前6个字符和脱敏后的字符串拼接起来,得到最终的脱敏结果。
以下是Hive SQL代码示例:
```sql
SELECT concat(substr(column_name, 1, 6), '********', substr(column_name, 15)) AS masked_column
FROM table_name;
```
其中,column_name是需要脱敏的字段名,table_name是包含该字段的表名。
相关问题
Hive md5脱敏函数
在Hive中,可以使用内置函数`md5()`来进行MD5加密。但是,Hive并没有提供直接的MD5脱敏函数。不过,我们可以通过一些技巧来实现。下面是一种可行的方法:
假设我们要脱敏的字段为`col`,可以使用如下的Hive SQL语句:
```sql
SELECT md5(col) AS col_md5 FROM table;
```
这样可以将`col`字段进行MD5加密,并将结果存储到`col_md5`中。但是,这并不是真正的脱敏,因为我们仍然可以通过MD5反查出原始的数据。
为了实现脱敏,我们可以将`col`字段中的每个字符替换为一个固定的字符,比如`*`。这样,即使通过MD5反查,也只能得到一串无意义的字符,而无法得知原始数据。具体实现如下:
```sql
SELECT md5(regexp_replace(col, '.', '*')) AS col_md5 FROM table;
```
这样,我们就可以使用Hive内置的`md5()`函数和正则表达式的`regexp_replace()`函数实现MD5脱敏了。
阅读全文