图像哈希的输出字符串始终具有" null"在开始

时间:2015-03-30 15:34:40

标签: java android hash

我试图散列图像并在文本字段中的字符串中显示哈希结果,代码正在运行,但结果始终为" 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功能 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;
  }

结果始终返回&#34; null&#34;像前一样:null8984fb2c1ba6ec6571d365553e466c95c94eba9d6fb2079af03

我的问题是: 1.什么是&#34; null&#34;总是出现?它是哈希代码还是错误的一部分? 2.如果&#34; null&#34;是一个错误,我怎么能不把它包含在结果中?

1 个答案:

答案 0 :(得分:0)

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

将其设置为空字符串以对其进行初始化,例如String hexString = "";