// 解密脱敏的身份证数据 String idCard = userInfo.getCard(); String verifyCard = verifyUser.getCard(); // 前端传递的脱敏身份证数据 // 如果解密后的身份证数据与原始身份证数据相同,将脱敏身份证数据赋值给userInfo对象的card属性 if (idCard.equals(verifyCard)) { userInfo.setCard(verifyCard); }idCard没有脱敏怎么去比较前端传递的脱敏的信息,怎么给idCard脱敏后再进行比较
时间: 2024-04-14 19:25:53 浏览: 119
如果 `idCard` 并没有经过脱敏处理,而 `verifyCard` 是前端传递的脱敏身份证数据,您可以对 `idCard` 进行脱敏处理后再进行比较。以下是一种可能的解决方案:
```java
// 解密脱敏的身份证数据
String idCard = userInfo.getCard();
String verifyCard = verifyUser.getCard(); // 前端传递的脱敏身份证数据
// 脱敏处理 idCard 数据
String desensitizedIdCard = desensitizeIdCard(idCard);
// 如果脱敏后的身份证数据与前端传递的脱敏身份证数据相同,将脱敏身份证数据赋值给 userInfo 对象的 card 属性
if (desensitizedIdCard.equals(verifyCard)) {
userInfo.setCard(verifyCard);
}
// 进行身份证数据脱敏处理的方法
private String desensitizeIdCard(String idCard) {
// 根据需求进行身份证数据脱敏处理,例如用 * 号替换敏感部分
String desensitizedIdCard = idCard.replaceAll("\\d{6}(\\d{8})\\d{4}", "******$1****");
return desensitizedIdCard;
}
```
在上述代码中,我假设 `idCard` 是未经过脱敏处理的原始身份证数据。通过调用 `desensitizeIdCard` 方法对 `idCard` 进行脱敏处理,例如用 `*` 号替换敏感部分。然后将脱敏后的数据与前端传递的脱敏身份证数据 `verifyCard` 进行比较。如果相同,则将脱敏身份证数据赋值给 `userInfo` 对象的 `card` 属性。
请注意,脱敏处理方法 `desensitizeIdCard` 中的脱敏规则是示例,您需要根据实际需求进行相应的调整和修改。
阅读全文