Skip to main content

Hash Algorithm

The hashing algorithm to use for generating hash keys and row checksums.

Options: MD5, SHA1, SHA2_256, SHA2_512

When to Change This Setting

AlgorithmHash LengthSpeedCollision RiskUse When
MD5128-bitFastestHigher (not cryptographically secure)Legacy compatibility only; not recommended for new projects
SHA1 (default)160-bitFastLow for DW volumesGood balance of speed and reliability for most data warehouse workloads
SHA2_256256-bitModerateVery lowCompliance requirements mandate SHA-2, or you have billions of rows per hub
SHA2_512512-bitSlowestNegligibleExtreme data volumes or regulatory requirements; increases storage significantly

For most BimlFlex projects, the default SHA1 is appropriate. Change to SHA2_256 if your organization's security policy prohibits SHA1 or if you are processing extremely high row volumes where collision probability matters.

This setting works together with other hashing settings. Changing one may require reviewing others:

SettingInteraction
Hash BinaryControls whether the hash is stored as BINARY (compact) or VARCHAR (readable). Binary storage is ~50% smaller but harder to debug
Use SQL Compatible HashWhen true, SSIS hashing matches SQL Server HASHBYTES() output. Must be true if you need to verify hashes with SQL queries
Use SQL Compatible Row HashSame as above, but for full-row change detection hashes. Recommended true for new projects
SSIS Hash Null ValueThe string substituted for NULL before hashing in SSIS. Must match Hash Null Value for consistent hashes across SSIS and SQL
Hash Null ValueThe string substituted for NULL before hashing in SQL. Must match SSIS Hash Null Value

Notes

  • This setting is part of the Core settings category.
  • The default value for this setting is SHA1.