Проблема - это read
попытается оценить Escape обратной косой черты, вводимые пользователем. Чтобы сделать, что Вы хотите, необходимо добавить -r
переключатель к read
который говорит этому оставлять Escape обратной косой черты неоцененными:
read -rp "Input file name: " FilePath
UnixPath="${FilePath//\\//}"
Кроме того, Ваш echo
для команд нужны двойные кавычки вокруг подстановки переменных: echo "$FilePath"
Я не думаю, что используя как MD5, так и короткий SHA-2 дает вам более уверенность, а затем использовать SHA512Sum в одиночку.
Ваш метод в принципе в принципе, но вы можете сделать проверку намного проще, перенаправляя вывод SHA512SUM * .TAR
в файл сумм
и скопируйте, что на машину назначения также.
Затем делайте:
sha512sum -c sums
на станке назначения, и он генерирует SHA512Sum для каждого файла, упомянутого в суммах
и проверяет его на хеш в файле
Вычислительные и проверки криптографических контрольных модумов - это хороший метод для обнаружения измененного содержимого файла, например, Из-за ошибок жесткого диска.
Как и многие криптографические хеш-функции SHA-2 поставляются в качестве семейства вариантов, которые различаются по размеру дайджеста и начальными значениями.
Поскольку вероятность получения хеш-столкновения из-за (случайных) битовых ошибок очень низкое - даже с MD5, вам не нужно «обновить» на SHA-2.
Вы бы предпочли бы SHA-2 более MD5 для защиты от злоумышленника, который намеренно пытается разработать файл, который дает столкновение. И с SHA-2 больший размер дайджеста (то есть биты 512) даст вам больше головной комнаты против будущих атак (за счет скорости вычисления).