Page MenuHomePhabricator

Upgrade File content hashing to SHA256
ClosedPublic

Authored by epriestley on Apr 4 2017, 10:38 PM.
Tags
None
Referenced Files
F14073525: D17620.diff
Thu, Nov 21, 12:54 AM
Unknown Object (File)
Wed, Nov 20, 9:32 AM
Unknown Object (File)
Mon, Nov 18, 1:50 PM
Unknown Object (File)
Sat, Nov 16, 4:45 PM
Unknown Object (File)
Sun, Nov 10, 7:46 AM
Unknown Object (File)
Wed, Nov 6, 12:12 PM
Unknown Object (File)
Sat, Nov 2, 1:58 AM
Unknown Object (File)
Sat, Nov 2, 1:58 AM
Subscribers
None

Details

Summary

Ref T12464. This defuses any possible SHA1-collision attacks by using SHA256, for which there is no known collision.

(SHA256 hashes are larger -- 256 bits -- so expand the storage column to 64 bytes to hold them.)

Test Plan
  • Uploaded the same file twice, saw the two files generate the same SHA256 content hash and use the same underlying data.
  • Tried with a fake hash algorihtm ("quackxyz") to make sure the failure mode worked/degraded correctly if we don't have SHA256 for some reason. Got two valid files with two copies of the same data, as expected.

Diff Detail

Repository
rP Phabricator
Lint
Lint Not Applicable
Unit
Tests Not Applicable