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
| Algorithm | Hash Length | Speed | Collision Risk | Use When |
|---|---|---|---|---|
MD5 | 128-bit | Fastest | Higher (not cryptographically secure) | Legacy compatibility only; not recommended for new projects |
SHA1 (default) | 160-bit | Fast | Low for DW volumes | Good balance of speed and reliability for most data warehouse workloads |
SHA2_256 | 256-bit | Moderate | Very low | Compliance requirements mandate SHA-2, or you have billions of rows per hub |
SHA2_512 | 512-bit | Slowest | Negligible | Extreme 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.
Related Settings
This setting works together with other hashing settings. Changing one may require reviewing others:
| Setting | Interaction |
|---|---|
| Hash Binary | Controls whether the hash is stored as BINARY (compact) or VARCHAR (readable). Binary storage is ~50% smaller but harder to debug |
| Use SQL Compatible Hash | When true, SSIS hashing matches SQL Server HASHBYTES() output. Must be true if you need to verify hashes with SQL queries |
| Use SQL Compatible Row Hash | Same as above, but for full-row change detection hashes. Recommended true for new projects |
| SSIS Hash Null Value | The string substituted for NULL before hashing in SSIS. Must match Hash Null Value for consistent hashes across SSIS and SQL |
| Hash Null Value | The 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.