Skip to content

SAIF.NetCore.HashUtil dependencies

SAIF.NetCore.HashUtil has no internal or external package dependencies of any kind — its project file contains no <PackageReference> and no <ProjectReference> items — and makes no outbound API calls; its only dependency relationship in the Framework.NCore graph is as the inbound target of a NuGet package reference from SAIF.NetCore.SystemHash.

Internal dependencies

None. The project file contains no <ItemGroup>, no <PackageReference>, and no <ProjectReference>; package-feed-status.json lists SAIF.NetCore.HashUtil with "referenceStyles": [] and does not record it as a consumer of SAIF.NetCore.ServiceContracts or SAIF.NetCore.Common.

External dependencies

None. No third-party NuGet packages are referenced. Only implicit Microsoft.NET.Sdk shared-framework BCL namespaces (System, System.Collections.Generic, System.Linq, System.Text) are used.

Dependency risks and notes

  • Architecture.md groups HashUtil in the "Utilities & Infra" subgraph with a group-level edge to the foundation layer, but source shows HashUtil references neither SAIF.NetCore.ServiceContracts nor SAIF.NetCore.Common; it is a true leaf package with zero SAIF dependencies*. The diagram's group-level edge is accurate for the subgraph as a whole but not for this individual member.
  • HashUtil is the dependency side of one of the three documented implementation-to-implementation exceptions in Architecture.md: SAIF.NetCore.SystemHash → SAIF.NetCore.HashUtil. SAIF.NetCore.SystemHash references SAIF.NetCore.HashUtil version 8.2023.319.2 (feed latest at analysis time: 10.2026.26267.1), a version gap that should be reviewed before any breaking change to SaltShaker's public surface*.
  • HashUtil reaches consuming applications only transitively, through ServiceExtensions → SystemHash → HashUtil; it has no direct consumer at the ServiceExtensions or application layer.
  • Because SaltShaker's salting/de-salting round trip depends on Dictionary enumeration order remaining stable, any future runtime change to dictionary enumeration semantics is a latent risk shared with any consumer, including SystemHash*.

Note: Statements marked with * were inferred from code structure, naming conventions, or contextual evidence where direct confirmation was not available in source artifacts.

Sources

  • src/SAIF.NetCore.HashUtil/SAIF.NetCore.HashUtil/SAIF.NetCore.HashUtil.csproj
  • src/SAIF.NetCore.SystemHash/SAIF.NetCore.SystemHash/SAIF.NetCore.SystemHash/SAIF.NetCore.SystemHash.csproj
  • Architecture.md