8aaa3331d7
Files.readAllBytes laedt grosse PDFs vollstaendig in den Heap und riskiert OutOfMemoryError. Die Berechnung nutzt jetzt einen DigestInputStream mit 8-KB-Puffer in try-with-resources. Das Hash-Ergebnis ist bitidentisch zur vorigen Implementation, die Exception-Semantik bleibt unveraendert. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>