但是现在还多表的数据都是以身份证号作为联查条件,并且还需要用身份证提取出籍贯信息
身份证脱敏加密规则,需要保留前4后3,其他*号替换;
需要身份证前六位作为籍贯信息查询
要怎么做?
谢谢
我理解的脱敏应当是后台传递数据给前台时,对原始数据进行改造,如手机号传给前台时应该是188****888这种类型;
如果前台也传递脱敏的数据如188****8888给后台,后台是无法根据这个进行查询的。如果前台为了安全不能传递明文,那么此时应当是考虑前台加密数据,然后传到后台,后台解密后在进行查询。
首先需要说明是数据库进行脱敏还是前端做了脱敏?
一:数据库脱敏
按照你描述的需求,如果是数据库脱敏是没有任何办法的;
二:前端脱敏
说明:所谓前端脱敏,是指数据库中的身份证信息是正常,查询出来的数据在后端做了脱敏处理。
解决方案:
1、可找到脱敏的代码进行籍贯判断或在映射的实体中加入字段
可参照下图(如再不明白,我实在没办法了)
如果数据重要,最好在后台脱敏,前端脱敏会被懂行的查出来。至于实现的话就用截取字符串拼接就可以
1、数据获取后存储在数据库中。
2、按照需求查询出需要展示的身份证号码。
3、通过完整的身份证号码分析出籍贯、年龄、性别等信息。
4、身份证号码加密
5、数据组合(加密后的身份证号码、籍贯、年龄、性别)
6、返回数据给前端展示。
注:除1、6步涉及到前端交互外,其他所有操作都是服务端独立完成。
如果再不明白,我就真没办法了
这个在数据库select的时候,就可以脱敏,就不需要java查出来一个list,到时候还要循环处理
直接用国密局算法的api加密就行了呗,各个语言的api都有