当前位置: 代码迷 >> J2EE >> MD5签名的有关问题
  详细解决方案

MD5签名的有关问题

热度:82   发布时间:2016-04-17 23:46:13.0
MD5签名的问题。
我要对文件进行MD5签名,我现在用的是fis = new FileInputStream(file),然后直接read()方法进行了MD5加密。代码如下:
            fis = new FileInputStream(file);
    byte[] buffer = new byte[1024];
    int numRead = 0;
    while ((numRead = fis.read(buffer)) > 0) {
     messagedigest.update(buffer, 0, numRead);
    }
    fis.close();
我想问下我想对其编码格式指定成GBK的获取字节数组,如何做呢?如果不指定,是以什么编码格式读的字节数组呢?我指定了GBK为什么和不指定GBK获得的MD5不一样。
------解决方案--------------------
numRead = fis.read(buffer)---读不会管你原始文件里面是什么编码格式的,读出来都是二进制

MD5加密也不会管GBK中文还是非中文编码,直接二进制加密,你read出来的原始数据如果是默认的ISO8859-1,你手工转成GBK,当然MD5加密后的数据会不一样,字符集都不同了
  相关解决方案