A strong key is a naming convention in computer programming. Multiple components (such as DLLs) may share the same name while differing in version, a situation that can result in versioning conflicts.[ citation needed ]
In the Microsoft .NET Framework, a strong key, also known as an SN key or strong name, is used to uniquely identify a component. This identification relies in part on public-key cryptography. [1]
Strong names ensure reliable binding between components, or between a root key and a component. However, they do not provide tamper resistance for the files containing those components. [2] Strong naming is also used as a mechanism to mitigate issues commonly referred to as DLL hell.
The key itself is generated by a separate program as a cryptographic key pair.