Strong name () — подпись (маркер открытого ключа) сборки в GAC. Во время подписи сборки вычисляется открытый криптографический ключ и закрытый криптографический ключ, который находится только у производителя данной сборки. Strong name образуется при помощи хеширования закрытого криптографического ключа.
Роль strong name Strong name необходим исключительно для определения сборки как уникальной в GAC. Также существует заблуждение, что strong name предоставляет сборке полную защиту от модификации. Эту защиту можно обойти.
Обход защиты strong name При изменении содержания сборки, изменяется и strong name, поэтому программа, использующая данную сборку, при её модификации, откажется работать с ней. Но существует способ обойти такую защиту. Для обхода необходимо удалить strong name сборки и использующего её приложения.
Подпись сборок Microsoft Большинство сборок, выпускаемых компанией Microsoft, подписаны одним и тем же strong name. Так происходит, потому что все эти сборки подписаны с помощью одного и того же закрытого ключа, соответственно их strong name генерируется с помощью хеширования одного и того же закрытого криптографического ключа.
См. также
.NET Framework Global Assembly Cache
Ссылки
От чего защищает strong name в .net сборках? / Хабр Сборки со строгими именами | Microsoft Docs What is the role of public key token? - Stack Overflow
Категория:Криптография Категория:Хеширование