java 410111*************身份证号加密存储
时间: 2023-11-19 07:05:18 浏览: 44
根据提供的引用内容,我们可以看出这是一个关于Java中使用自定义Mybatis拦截器实现加密存储的代码示例,并没有直接回答关于身份证号加密存储的问题。但是,我们可以根据这个示例来推断出一些可能的加密存储方法。
一种可能的方法是使用对称加密算法,例如AES或DES,将身份证号加密后存储到数据库中。在读取数据时,再使用相同的密钥解密数据。另一种可能的方法是使用哈希算法,例如SHA-256或MD5,将身份证号进行哈希运算后存储到数据库中。在读取数据时,将输入的身份证号进行哈希运算后与数据库中的哈希值进行比较。
需要注意的是,无论使用哪种加密存储方法,都需要保证密钥或哈希值的安全性,以免被攻击者获取到并进行破解。
相关问题
java 身份证脱敏
Java身份证脱敏是指对身份证号码进行部分隐藏或替换,以保护个人隐私信息的安全。在Java中,可以通过以下方式进行身份证脱敏:
1. 隐藏部分数字:可以使用字符串的substring方法,将身份证号码的前几位和后几位保留,中间的数字用"*"或其他字符替代。
```java
String idCard = "440102199001011234";
String maskedIdCard = idCard.substring(0, 6) + "********" + idCard.substring(14);
System.out.println(maskedIdCard); // 输出:440102********1234
```
2. 加密处理:可以使用加密算法对身份证号码进行加密,然后存储或传输加密后的值。常见的加密算法有MD5、SHA等。
```java
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
public class IdCardMasking {
public static String encryptIdCard(String idCard) {
try {
MessageDigest md = MessageDigest.getInstance("MD5");
byte[] idCardBytes = idCard.getBytes();
byte[] encryptedBytes = md.digest(idCardBytes);
StringBuilder sb = new StringBuilder();
for (byte b : encryptedBytes) {
sb.append(String.format("%02x", b));
}
return sb.toString();
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
return null;
}
public static void main(String[] args) {
String idCard = "440102199001011234";
String encryptedIdCard = encryptIdCard(idCard);
System.out.println(encryptedIdCard); // 输出:d8e8fca2dc0f896fd7cb4cb0031ba249
}
}
```
3. 自定义脱敏规则:根据实际需求,可以自定义脱敏规则,例如只显示前几位和后几位,中间的数字用指定字符替代。
```java
public class IdCardMasking {
public static String maskIdCard(String idCard, int prefixLength, int suffixLength, char maskChar) {
StringBuilder sb = new StringBuilder();
sb.append(idCard.substring(0, prefixLength));
for (int i = 0; i < idCard.length() - prefixLength - suffixLength; i++) {
sb.append(maskChar);
}
sb.append(idCard.substring(idCard.length() - suffixLength));
return sb.toString();
}
public static void main(String[] args) {
String idCard = "440102199001011234";
String maskedIdCard = maskIdCard(idCard, 6, 4, '*');
System.out.println(maskedIdCard); // 输出:440102******1234
}
}
```
springboot+vue实现存入电话号码以及身份证加密存入数据库,查看得时候解密查看
好的,您的问题是如何使用Spring Boot和Vue.js实现电话号码和身份证号码的加密存储和解密显示?
首先,您可以使用Java的加密库,如Jasypt来加密电话号码和身份证号码。在Spring Boot应用程序中,可以使用Jasypt自动配置来轻松地将加密功能集成到您的应用程序中。
在前端方面,您可以使用Vue.js来创建一个简单的表单,让用户输入电话号码和身份证号码。当用户提交表单时,您可以使用Vue.js将这些值作为参数发送到后端Spring Boot应用程序中进行加密,并将加密后的值存储到数据库中。
当您想要查看电话号码和身份证号码时,您可以使用Vue.js从后端Spring Boot应用程序中检索加密数据,并使用Jasypt库进行解密。然后,您可以将解密的值呈现给用户。
需要注意的是,为了保护用户的隐私,您需要确保在存储和传输数据时使用安全的加密算法和协议。同时,您需要妥善保管加密密钥,以确保只有授权的用户才能访问解密数据。