package thread1;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.security.DigestInputStream;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.logging.Level;
import java.util.logging.Logger;
public class Main extends Thread {
private File input;
Main(File input)
{
this.input = input;
}
@Override
@SuppressWarnings("empty-statement")
public void run()
{
System.out.println("Watek : Wykonuje zadanie");
try
{
FileInputStream in = new FileInputStream(input);
MessageDigest sha = MessageDigest.getInstance("SHA");
DigestInputStream din = new DigestInputStream(in, sha);
int b;
while((b = din.read()) != -1)
{
}
din.close();
byte[] digest = sha.digest();
StringBuffer result = new StringBuffer(input.toString());
result.append(":");
for(int i=0; i<digest.length; ++i)
{
result.append((int)digest[i]+ "");
}
System.out.println(result);
}catch (FileNotFoundException ex)
{
System.out.println("Nie otworzyłem pliku do czytania.");
}
catch (IOException ex)
{
System.out.println("Blad imput/output");
}
catch (NoSuchAlgorithmException ex)
{
Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
}
System.out.println("Watek : umieram");
}
public static void main(String[] args)
{
for(int i = 0; i < args.length; ++i)
{
System.out.println("Ja dzialam suko");
File f = new File(args[i]);
Thread thread = new Main(f);
thread.start();
}
}
}
Jak mógł by mi ktoś wytłumaczyć poniższy kawałek kodu to bym był bardzo wdzięczny
MessageDigest sha = MessageDigest.getInstance("SHA");
DigestInputStream din = new DigestInputStream(in, sha);
int b;
while((b = din.read()) != -1)
{
}
din.close();
byte[] digest = sha.digest();
StringBuffer result = new StringBuffer(input.toString());
result.append(":");
for(int i=0; i<digest.length; ++i)
{
result.append((int)digest[i]+ "");
}
System.out.println(result);
oraz dlaczego mój program pokazuje hash dla słowa ala ma kota -2913-81-126-771048-31-4342-3335-20-96812668276931 anie hash e30daf82b36808e1d52adf23eca0511a441b451f ??
Pozdrawiam Piotr