关于数据类型转化的值

这是一个MD5工具类

 package org.fkjava.util;

import java.math.BigInteger;
import java.security.MessageDigest;

public class MD5 {

    public static String getMD5(String str){
        try{
            MessageDigest md = MessageDigest.getInstance("MD5");

            md.update(str.getBytes());

            return new BigInteger(1,md.digest()).toString(16);
        }catch(Exception e){
            e.printStackTrace();
            return null;
        }

    }

    public static void main(String[] args){
        String md5 = getMD5("123456");
        System.out.println(md5);
        byte[] password = md5.getBytes();
        for(int i = 0;i<password.length;i++)
        System.out.println("口令字节数组:"+password[i]);
    }

}

打印的结果为

图片说明

但是我用计算器算了一下,“e1”是16进制,换成10进制应该是225,为什么我打印出来的是101呢,是代码哪里有问题吗?

byte[] password = md5.getBytes();
这里不对
要循环自己转换
https://blog.csdn.net/worm0527/article/details/69939307