我是否需要在浏览器端校验文件然后校验和并在服务器端比较它们?

Do I need to checksum the file at browser side then checksum and compare them at server side?

我的网站会上传一些重要的文件,是否需要在浏览器端用JavaScript计算文件的校验和,然后在服务器端用golang重新计算并进行比较端确保服务器获取的文件是一致的?

目前我正在开发 javascript 上传文件。这绝对是可能的。 您可以在 javascript 中放置一个 webworker 并让它进行计算。

网络工作者信息: https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Using_web_workers

我使用 crypto-js 来计算校验和。

校验和: https://code.google.com/archive/p/crypto-js/

当您要上传的文件很大时,可能会出现一些问题。以我为例,大于 40MB 的文件会导致浏览器崩溃或 OutOfMemory-Exceptions。 但是,如果您尝试上传小文件,这可能适合您。

回答你的问题。不需要比较校验和。但这是确保文件一致性的一种方法。 (见仁见智)

我使用这种方法已经一年多了,上传后从未出现校验和不一致的情况。

对不起我的英语。这不是我的母语。 ^^