生成消息摘要流程

1.通过检查参数的个数来确信程序被正确调用
2.将所有输入链接成一串,不同输入字之间的多个空格用单个空格代替
3.将输入串转换成字节数组(因为MessageDigest对象只对字节进行操作,而不对字符进行操作)。
4.获取一个MessageDigest对象。如使用工厂化方法MessageDigest.getInstance(“MD5“)。
5.用输入数据更新MessageDigest对象。
6.计算消息摘要。
7.输出用base64编码格式表示的消息摘要。
举例:
public class MD5Input {
  public static void main(String [] args) throws Exception {
    if (args.length < 1) {
      System.out.println("Usage: javac Md5Input input");

      return;
    }

    String input = args[0];

    for (int i = 1; i < args.length; i++) {
      input += (" " + args[i]);
    }

    byte [] inputBytes = input.getBytes("UTF8");
    MessageDigest md5 = MessageDigest.getInstance("MD5");

    md5.update(inputBytes);

    byte [] digest = md5.digest();
    BASE64Encoder encoder = new BASE64Encoder();
    String base64 = encoder.encode(digest);

    System.out.println(base64);
  }
}

你可能感兴趣的:(exception,String,Class,input,byte)