这段MD5加密算法是什么意思,谁能帮我解释下?不会JAVA看不懂。。。
发布网友
发布时间:2022-05-31 15:58
我来回答
共3个回答
热心网友
时间:2023-10-18 20:11
public static byte[] getMD5(File file) {
FileInputStream fis = null;//定义文件字节流
try {
MessageDigest md = MessageDigest.getInstance("MD5");//创建MD5加密使用的对象
fis = new FileInputStream(file);//读取需要加密的文件,并封装如流对象里面
byte[] buffer = new byte[2048];//创建字节数据,用于将文件中的字符转换成字节
int length = -1;
//fis.read--从此输入流中将最多 buffer.length 个字节的数据读入一个 byte 数组中
//如果长度为-1说明已经读到最后则跳出循环
while ((length = fis.read(buffer)) != -1) {
//使用指定的 byte 数组,从头开始按照MD5进行编码
md.update(buffer, 0, length);
}
byte[] b = md.digest();//该方法的调用表示完成的编码计算
return b;
} catch (Exception ex) {
ex.printStackTrace();
return null;
} finally {
try {
fis.close();
} catch (IOException ex) {
ex.printStackTrace();
}
}
}
}
大体上就是这么个意思
热心网友
时间:2023-10-18 20:12
•MessageDigest.getInstance("MD5"):创建消息摘要。
•.update(plaintext):用明文字符串计算消息摘要。
•.digest():读取消息摘要。
这段程序的意思是 对给入的一个文件,每一行进行加密
热心网友
时间:2023-10-18 20:12
MessageDigest md = MessageDigest.getInstance("MD5");
获取 MD5加密的一个实例
fis = new FileInputStream(file);
对传进来的文件进行操作(读取到程序中)
while ((length = fis.read(buffer)) != -1) {
md.update(buffer, 0, length);
}
将每次读到的值放在数组byte(buffer )中
进行加密md.update(buffer, 0, length);
return b; 返回加密后的byte数组