Page MenuHomePhabricator

Upgrade File content hashing to SHA256
ClosedPublic

Authored by epriestley on Apr 4 2017, 10:38 PM.
Tags
None
Referenced Files
F14440028: D17620.diff
Thu, Dec 26, 4:58 AM
Unknown Object (File)
Tue, Dec 24, 2:53 AM
Unknown Object (File)
Fri, Dec 20, 10:36 PM
Unknown Object (File)
Wed, Dec 11, 1:29 AM
Unknown Object (File)
Wed, Dec 11, 1:29 AM
Unknown Object (File)
Wed, Dec 11, 1:02 AM
Unknown Object (File)
Tue, Dec 10, 11:58 PM
Unknown Object (File)
Sun, Dec 8, 12:41 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
Branch
files10
Lint
Lint Passed
Unit
Tests Passed
Build Status
Buildable 16299
Build 21671: Run Core Tests
Build 21670: arc lint + arc unit