gpt4 book ai didi

.net - 从snk文件中获取.NET PublicKeyToken?

转载 作者:行者123 更新时间:2023-12-03 13:18:48 31 4
gpt4 key购买 nike

如何从 snk 文件中获取 PublicKeyToken?使用命令行工具。我想过使用sn.exe,但是,找不到合适的参数。

最佳答案

如果您想使用 sn.exe工具:

sn -p yourkey.snk publickey.snk

现在有只有公钥的 publickey.snk
sn -tp publickey.snk

现在您拥有公钥和公钥 token 。

给定一个 byte[] cotnaining snk 文件,如
byte[] snk = File.ReadAllBytes("YourSnkFile.snk");


byte[] publicKey = GetPublicKey(snk);
byte[] publicKeyToken = GetPublicKeyToken(publicKey);

使用这些实用方法
public static byte[] GetPublicKey(byte[] snk)
{
var snkp = new StrongNameKeyPair(snk);
byte[] publicKey = snkp.PublicKey;
return publicKey;
}

public static byte[] GetPublicKeyToken(byte[] publicKey)
{
using (var csp = new SHA1CryptoServiceProvider())
{
byte[] hash = csp.ComputeHash(publicKey);

byte[] token = new byte[8];

for (int i = 0; i < 8; i++)
{
token[i] = hash[hash.Length - i - 1];
}

return token;
}
}

关于.net - 从snk文件中获取.NET PublicKeyToken?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29768562/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com