Quote from Wikipedia : “A public key token. This is a 64-bit hash of the public key which corresponds to the private key used to sign1 the assembly. A signed assembly is said to have a strong name.”
[Source :
http://en.wikipedia.org/wiki/.NET_assemblies]
Is this correct? I feel this is not consistent with the explanation that follows:
“Signing the assembly involves taking a hash of important parts of the assembly and then encrypting the hash with the private key. The signed hash is stored in the assembly along with the public key.”
Is the first quote correct. Can you please explain the process of signing in simple terms.
EDIT:
My question is whether it is the public key that is hashed or is the hash encrypted using the key?
MSDN is always your best (and almost invariably perfectly accurate) source on this sort of thing. From the page on Creating and Using Strong-Named Assemblies:
So Wikipedia would appear to be vaguely right, but not telling the full story there.
That MSDN page also links to some articles that go into more depth about strong-name signing of .NET assemblies.