Java手机号加密解密实现

1. 流程

首先我们需要明确整个实现过程的步骤,可以用表格展示如下:

步骤 描述
1 输入手机号
2 加密手机号
3 解密手机号
4 输出解密后的手机号

2. 具体步骤

接下来我们详细说明每一步需要做什么,以及需要使用的代码,并对代码进行注释说明。

步骤1:输入手机号

// 导入Scanner类用于接收输入
import java.util.Scanner;

// 创建Scanner对象
Scanner scanner = new Scanner(System.in);

// 提示用户输入手机号
System.out.println("请输入手机号:");

// 读取用户输入的手机号
String phoneNumber = scanner.nextLine();

步骤2:加密手机号

// 使用MD5加密算法对手机号进行加密
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

public String encryptPhoneNumber(String phoneNumber) {
    try {
        MessageDigest md = MessageDigest.getInstance("MD5");
        md.update(phoneNumber.getBytes());
        byte[] digest = md.digest();
        StringBuilder sb = new StringBuilder();
        for (byte b : digest) {
            sb.append(String.format("%02x", b & 0xff));
        }
        return sb.toString();
    } catch (NoSuchAlgorithmException e) {
        e.printStackTrace();
        return "";
    }
}

// 调用加密方法
String encryptedPhoneNumber = encryptPhoneNumber(phoneNumber);

步骤3:解密手机号

// 解密方法
public String decryptPhoneNumber(String encryptedPhoneNumber) {
    return new String(encryptedPhoneNumber);
}

// 调用解密方法
String decryptedPhoneNumber = decryptPhoneNumber(encryptedPhoneNumber);

步骤4:输出解密后的手机号

// 输出解密后的手机号
System.out.println("解密后的手机号为:" + decryptedPhoneNumber);

3. 序列图

sequenceDiagram
    participant 用户
    participant 开发者
    用户 ->> 开发者: 输入手机号
    开发者 ->> 开发者: 加密手机号
    开发者 ->> 开发者: 解密手机号
    开发者 ->> 用户: 输出解密后的手机号

4. 类图

classDiagram
    class 加密解密 {
        +encryptPhoneNumber(String phoneNumber): String
        +decryptPhoneNumber(String encryptedPhoneNumber): String
    }

通过以上步骤,你可以完成Java手机号加密解密的实现。希望这篇文章对你有所帮助,加油!