Added SHA256 hashes for original and patched files in FileDiffs.
Review Request #1832 — Created Jan. 23, 2020 and updated
Back in Review Board 2.0, we introduced SHA1 hashes in FileDiffs, which were in part used to determine if filediffs and interfilediffs matched. SHA1 is not technically safe anymore (though there's little harm it can do in our situation, aside from generate patch errors in the diff viewer), and we want to move to SHA256 where possible. This change adds storage and properties for SHA256 hashes on FileDiff, and updates our FileDiff comparison logic to prioritize them over SHA1 hashes (though it will still check SHA1 if the SHA256 hashes are missing, since they're created only when viewing the diff for the first time). The comparison logic has been moved into a new `get_filediffs_match()` function, and unit tests were added. Testing Done: Unit tests pass. Didn't see any regressions when viewing interdiffs. Verified that FileDiffs were recording the SHA256 hashes. Reviewed at https://reviews.reviewboard.org/r/10767/