MD5签名的问题。

J2EE 码拜 9年前 (2015-04-16) 1629次浏览 0个评论

我要对文件进行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不一样。

MD5签名的问题。
40分
numRead = fis.read(buffer)—读不会管你原始文件里面是什么编码格式的,读出来都是二进制

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

MD5签名的问题。
非常感谢你的回复,对我的帮助很大的。

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明MD5签名的问题。
喜欢 (0)
[1034331897@qq.com]
分享 (0)

文章评论已关闭!