Strukturierte Programmierung Uebungen Ferien: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Drlue (Diskussion | Beiträge) Die Seite wurde neu angelegt: „=== Aufgabe: TicTacToe === === Aufgabe: TicTac KI === https://www.geeksforgeeks.org/minimax-algorithm-in-game-theory-set-3-tic-tac-toe-ai-finding-optimal-mo…“ |
Drlue (Diskussion | Beiträge) |
||
| Zeile 6: | Zeile 6: | ||
=== Aufgabe: Türme von Hanoi === | === Aufgabe: Türme von Hanoi === | ||
=== Aufgabe: | === Aufgabe: Hashsumme/Prüfsumme === | ||
Erstelle ein Programm welches die Prüfsumme einer gegebenen Datei berechnet und ausgibt. Hierbei kann auch gerne '''assets/file.txt''' verwendet werden. Nähere Informationen zur Hashsumme finden sich [[https://de.wikipedia.org/wiki/Hashfunktion|hier]]. | |||
Lies die Datei mithilfe eines {{JSL|FileInputStream}}: | |||
{{JML|code= | |||
FileInputStream in = new FileInputStream("assets/file.txt"); | |||
byte[] buffer = new byte[1024]; | |||
int read = 0; | |||
while((read = in.read(buffer)) > 0) { | |||
//Digest aktualisieren | |||
} | |||
}} | |||
Erstelle einen {{JSL|MessageDigest}} für '''MD5''' und '''SHA256''' und befülle diesen mit dem {{JSL|byte[] buffer}}. Instanzen von {{JSL|MessageDigest}} erhältst du mittels {{JSL|MessageDigest.getInstance([algorithm])}}. | |||
Um die Prüfsumme des {{JSL|MessageDigest}} lerbar zu machen verwende: | |||
{{JML|code= | |||
private static String toString(MessageDigest digest) { | |||
return new BigInteger(1,digest.digest()).toString(16); | |||
} | |||
}} | |||
Version vom 22. Oktober 2021, 05:34 Uhr
Aufgabe: TicTacToe
Aufgabe: TicTac KI
Aufgabe: Türme von Hanoi
Aufgabe: Hashsumme/Prüfsumme
Erstelle ein Programm welches die Prüfsumme einer gegebenen Datei berechnet und ausgibt. Hierbei kann auch gerne assets/file.txt verwendet werden. Nähere Informationen zur Hashsumme finden sich [[1]].
Lies die Datei mithilfe eines FileInputStream:
FileInputStream in = new FileInputStream("assets/file.txt");
byte[] buffer = new byte[1024];
int read = 0;
while((read = in.read(buffer)) > 0) {
//Digest aktualisieren
}
Erstelle einen MessageDigest für MD5 und SHA256 und befülle diesen mit dem byte[] buffer. Instanzen von MessageDigest erhältst du mittels MessageDigest.getInstance([algorithm]).
Um die Prüfsumme des MessageDigest lerbar zu machen verwende:
private static String toString(MessageDigest digest) {
return new BigInteger(1,digest.digest()).toString(16);
}