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

时间:2019-05-15 06:21:27

标签: c# asp.net hashcode sha

问题:

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

只要什么都没有改变,该哈希码就必须相同。即使我重建项目。

有人知道我该怎么做吗?

我尝试过的事情:

我发现的唯一可行的解​​决方案是将所有重要文件合并为一个大字符串,并从中创建一个哈希码。

此解决方案的问题是,我必须将所有源文件添加到输出目录,出于安全原因不应该执行的操作。

希望有人有个好主意=)

谢谢!

更新

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

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

<Deterministic>True</Deterministic>

1 个答案:

答案 0 :(得分:4)

  

即使我重建我的项目

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