Potrebbe essere possibile calcolare un SHA256 di part1-part2, se già conoscete SHA256 (parte1) e il valore per part2. Ciò si basa su una vulnerabilità nel metodo sottostante di costruzione hash SHA256 utilizza ( link ).
EDIT: per chiarire l'algoritmo SHA256 riempirà qualsiasi input con un multiplo di una certa dimensione.
Quindi potresti davvero pensarlo come SHA256 (part1 || padding), dove 'padding' significa x00 ripetuto fino alla dimensione (part1 || padding) mod 512 = 0 (poiché SHA256 ha una dimensione di blocco di 512 link ). Questo diventa un problema se qualsiasi padding deve essere aggiunto a part1.