Я должен сделать небольшую программу самопроверки Java (самоконтроля).вот мой пример кода
public class tamper {
public static int checksum_self () throws Exception {
File file = new File ("tamper.class");
FileInputStream fr = new FileInputStream (file);
int result; // Compute the checksum
return result;
}
public static boolean check1_for_tampering () throws Exception {
return checksum_self () != 0; // TO BE UPDATED!
}
public static int check2_for_tampering () throws Exception {
return checksum_self ();
}
public static void main (String args[]) throws Exception {
if (check1_for_tampering ()) {
System.exit (-1);
}
float celsius = Integer.parseInt (args[0]);
float fahrenheit = 9 * celsius / 5 + 32;
System.out.println (celsius + "C = " + fahrenheit + "F");
}
}
Я пытался сделать что-то подобное
DigestInputStream sha = new DigestInputStream(fr, MessageDigest.getInstance("SHA"));
byte[] digest = sha.getMessageDigest();
for(..)
{
result = result + digest[i]
}
Но тогда я действительно не знаю, как это проверить ??
РЕДАКТИРОВАТЬ:
Спасибо за ваши ответы
@ Адам Пейнтер и SpoonBenders
Естественно, это не для моего личного использования.И я не буду использовать это для защиты любого программного обеспечения .....
Это "упражнение", которое я должен сделать для моего курса Java ...