Java 图像散列';s的输出字符串始终具有“0”;空";起初

Java 图像散列';s的输出字符串始终具有“0”;空";起初,java,android,hash,Java,Android,Hash,我正在尝试对图像进行散列,并在文本字段中以字符串形式显示散列结果,代码正在运行,但结果在散列代码的开头总是有“null” bitmap1 = BitmapFactory.decodeFile(picturePath1,opt); ImageView view1 = (ImageView) findViewById(R.id.gambar5); view1.setImageBitmap(bitmap1); ByteArrayOutputStream outputStream = new Byt

我正在尝试对图像进行散列,并在文本字段中以字符串形式显示散列结果,代码正在运行,但结果在散列代码的开头总是有“null”

bitmap1 = BitmapFactory.decodeFile(picturePath1,opt);

ImageView view1 = (ImageView) findViewById(R.id.gambar5);
view1.setImageBitmap(bitmap1);

ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
bitmap1.compress(Bitmap.CompressFormat.PNG, 100, outputStream);

byte[] data1 = outputStream.toByteArray();

MessageDigest md = MessageDigest.getInstance("SHA-256");
md.update(data1);

byte[] hash = md.digest();
String result = returnHex(hash);

EditText et1 = (EditText) findViewById(R.id.editText1);
et1.setText(result);
我正在使用这个站点的returnHex函数

这是函数代码

static String returnHex(byte[] inBytes) throws Exception {
        String hexString = null;
        for (int i=0; i < inBytes.length; i++) { //for loop ID:1
            hexString += Integer.toString( ( inBytes[i] & 0xff ) + 0x100, 16).substring( 1 );
        }// Belongs to for loop ID:1
    return hexString;
  }
静态字符串returnHex(字节[]inBytes)引发异常{
字符串hexString=null;
for(int i=0;i
结果总是以“null”返回,如ex:null8984fb2c1ba6ec6571d36553e466c95c94eba9d6fb2079af03

我的问题是: 1.总是出现的“空”是什么?它是散列码的一部分还是一个bug?
2.如果“null”是一个bug,我如何使它不包含在结果中?

您将字符串设置为
null
然后附加到它;还可能发生什么


将其设置为空字符串以对其进行初始化,例如,
string hexString=“”

我之前没有意识到returnHex函数中的那行代码,我真傻。下次使用其他函数之前,我必须仔细阅读。感谢@dave解决问题并更正我的问题:)问候!