如何在 C# 中从源代码创建哈希码?

How to create a Hash Code from Source Code in C#?

问题:

我正在尝试创建一个函数来创建我的 asp.net Web 应用程序后端源代码的哈希码。

只要没有任何变化,这个散列码就需要相同。即使我重建我的项目。

有人知道我该怎么做吗?

我试过的:

我找到的唯一可行的解​​决方案是将所有重要文件连接成一个大字符串并从中创建一个哈希码。

这个解决方案的问题是,我必须将所有源文件添加到输出目录,出于安全原因不应该这样做。

希望有人有好主意=)

提前致谢!

更新:

我可以按照 Renat 的建议通过启用确定性构建来解决我的问题。

刚刚将确定性标志添加到我的 .csproj 文件中,如下所示:

<Deterministic>True</Deterministic>

Even if I rebuild my project

您可以使用 Deterministic Build,然后它会在使用相同源代码构建的每个构建中生成相同的二进制文件。然后你可能会得到二进制文件的哈希值。