我有两个证书指纹,从Microsoft管理控制台检索。
当我将值复制/粘贴到我的程序中,然后手动键入相同的值以执行相等性检查时,它们会失败。
有没有人知道为什么,当粘贴字符串值时,它不会通过相等检查,但是当手动输入它时呢?据我所知,它们是相同的值,所以不应该都是真的吗?
public void DoSomething()
{
const string thumbprint1 = "1F279488F131074FC7B34B9AF6E6B087678404F2";
const string thumbprint2 = "1F279488F131074FC7B34B9AF6E6B087678404F2";
Debug.WriteLine("thumbprint1 = {0}\n", ("1F279488F131074FC7B34B9AF6E6B087678404F2" == thumbprint1));
Debug.WriteLine("thumbprint2 = {0}\n", ("1F279488F131074FC7B34B9AF6E6B087678404F2" == thumbprint2));
}
以下是Visual Studio中比较结果的图像:
答案 0 :(得分:6)
如果您从MMC复制并粘贴了指纹,您可能会发现其中一个指纹在指纹的开头有一个特殊的隐藏字符。
按指纹前面的删除删除隐藏的字符,这将解决问题。