import java.util.Base64;
public class PhoneNumberEncryption {
private static final String ENCRYPTION_KEY = "mysecretkey"; // 替换成你自己的秘钥
private static final String ENCRYPT_PREFIX = "encrypted:";
public static String encrypt(String phoneNumber) {
try {
String encryptedData = ENCRYPT_PREFIX + Base64.getEncoder().encodeToString((phoneNumber + ENCRYPTION_KEY).getBytes("utf-8"));
return encryptedData;
} catch (Exception e) {
System.err.println("Encryption failed: " + e.getMessage());
return phoneNumber;
}
}
public static String decrypt(String phoneNumber) {
if (phoneNumber.startsWith(ENCRYPT_PREFIX)) {
String encryptedData = phoneNumber.substring(ENCRYPT_PREFIX.length());
try {
String decryptedData = new String(Base64.getDecoder().decode(encryptedData), "utf-8");
return decryptedData.replace(ENCRYPTION_KEY, "");
} catch (Exception e) {
System.err.println("Decryption failed: " + e.getMessage());
return phoneNumber;
}
} else {
return phoneNumber;
}
}
}
要加密您的手机号码,只需调用 PhoneNumberEncryption.encrypt(phoneNumber)
方法即可。如果手机号码已经被加密,那么调用 PhoneNumberEncryption.decrypt(phoneNumber)
方法可以解密它。
此实现使用 Base64 编码,增加了一些简单的混淆,例如添加了一个前缀来识别加密的数据。请注意,此示例并不是非常安全,仅作为示例。在实际使用中,请根据您的需求选择安全性更高的加密算法和密钥管理策略。