На моем веб-сайте будут загружены некоторые важные файлы, нужно ли вычислить контрольную сумму файла с JavaScript
со стороны браузера, а затем рассчитать снова с помощью golang
и сравнить их на стороне сервера, чтобы убедиться, что файлы, полученные сервером, согласованы ?Нужно ли мне проверять сумму на стороне браузера, затем контрольную сумму и сравнивать их на стороне сервера?
ответ
В настоящее время я разрабатываю javascript для загрузки файлов. Это определенно возможно. Вы можете поместить веб-исполнителя в свой javascript и позволить ему выполнять вычисления.
WebWorker Информация: https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Using_web_workers
Я использую крипто-JS для расчета контрольных сумм.
сумм: https://code.google.com/archive/p/crypto-js/
Некоторые проблемы могут возникнуть, когда файлы, которые вы хотите загрузить большие. Например, в моем случае файлы размером более 40 МБ приводят к сбоям браузера или OutOfMemory-Exceptions. Но если вы попытаетесь загрузить небольшие файлы, возможно, это сработает для вас.
To awnser ваш вопрос. Нецелесообразно сравнивать контрольные суммы. Но это способ убедиться в согласованности файлов. (Вопрос)
Я использовал этот метод уже более года и никогда не имел несоответствия контрольной суммы после загрузки.
Прошу прощения за мой английский. Это не мой родной язык. ^^
Возможно ли даже проверить контрольную сумму файла на клиентском javascript? – Marie
@Marie Невозможно? – Suge
У вас есть больше информации, например, сколько бит они будут и какое оборудование вы используете для расчета контрольных сумм? Не уверен, но это может помочь людям ответить на этот вопрос за вас? –