Как сгенерировать хеш MD5 для первых n байтов в скриптах sh? - PullRequest
0 голосов
/ 04 октября 2019

У меня есть следующая строка кода php:

$md5_code = md5(file_get_contents($filePath, FALSE, NULL, 0, n_bytes));

, которая генерирует хэш-код MD5 для первого файла n_bytes.

Я хотел бы создать аналогичный исполняемый скрипт /Программа, которая получает файл и экспортирует в текстовый файл хеш-код MD5, сгенерированный из первого n_bytes.

. Мне кажется, мне нужно упомянуть, что скрипт должен работать как на компьютерах с Windows, так и на Linux.

Сценарий может работать примерно так:

  • Переместить выбранный файл, где находится сценарий
  • Выполнить сценарий
  • Получить сгенерированный код из только что созданноготекстовый файл

Возможно ли это вообще?

1 Ответ

1 голос
/ 04 октября 2019

Если у вас в окне есть функциональные утилиты Linux, вы можете использовать bash и md5sum. Вам не нужно создавать новый файл, так как 'md5sum' может обрабатывать данные на stdin.

# Modify variable to use parameters/values as needed.
filename=...
n_bytes=100
out_file=md5.out
head -c "$n_bytes" "$filename" | md5sum | awk '{ print $1 }'  > "$out_file"
...