Публикация HASH под ссылками на закачку дистрибутивов

Здесь можно обсудить сайт Far Manager и предложить идеи по его дальнейшему развитию.
Post Reply
AleXH
Posts: 1000
Joined: Sun 12 Apr, 2009 05:21
Been thanked: 1 time

Публикация HASH под ссылками на закачку дистрибутивов

Post by AleXH » Fri 06 Jun, 2014 06:30

Скажем SHA1 или SHA256 - кто, что об этом думает?

Никто не знает, почему имеющиеся в сети реализации расчёта SHA1, SHA256 на lua дают иной (но судя по self-тестам правильный) результат, чем sha1sum, HashTab, или плагин для FAR HashCRC?

Никто не решал проблему: есть сайт и его обновление доступно только по ftp. - Как автоматизировать публикацию (обновление) хэшей под ссылками для периодически обновляемых дистрибутивов? - Пока вижу только локальную замену в теле страницы с помощью регэкспов рассчитанным хэшем на lua, с последующей заливкой страницы на ftp сервер. Да вот только алгоритм расчёта хэша на lua не той системы (с) ...

Shmuel
Posts: 5232
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 16 times
Been thanked: 152 times

Re: Публикация HASH под ссылками на закачку дистрибутивов

Post by Shmuel » Fri 06 Jun, 2014 06:37

Причём здесь луа - не луа ? Lua - это язык программирования.
Результат выполнения программы будет корректным, если программа корректная. И язык программирования здесь ни при чём.

AleXH
Posts: 1000
Joined: Sun 12 Apr, 2009 05:21
Been thanked: 1 time

Re: Публикация HASH под ссылками на закачку дистрибутивов

Post by AleXH » Fri 06 Jun, 2014 07:17

Shmuel, передачу содержимого файла на хэширование сделал так,
  1. local function fread(f)
  2.     local fh = io.input(f)
  3.     local x = io.read("*all")
  4.     io.close(fh)
  5.     return x
  6. end
  7.  
  8. print(sha1(fread(filename)))
, где sha1 функция из sha1.lua. Результат не сходится с TabHash и остальными, сам sha1.lua работает как и задумано, это видно из самодиагностики. Может с передачей файла что-то не так, или на 0x00 код скрипта спотыкается?

Shmuel
Posts: 5232
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 16 times
Been thanked: 152 times

Re: Публикация HASH под ссылками на закачку дистрибутивов

Post by Shmuel » Fri 06 Jun, 2014 07:24

Для начала, файл надо читать в бинарном режиме.
  1. local function fread(f)
  2.     local fh = io.open(f, "rb")
  3.     local x = fh:read("*all")
  4.     fh:close()
  5.     return x
  6. end

AleXH
Posts: 1000
Joined: Sun 12 Apr, 2009 05:21
Been thanked: 1 time

Re: Публикация HASH под ссылками на закачку дистрибутивов

Post by AleXH » Fri 06 Jun, 2014 07:38

Shmuel, спасибо, затупил, почему-то был уверен, что сделал двоичное чтение.

А что насчёт публикации хэшей под ссылками на дистрибы - не реализуемо? или муторно?

Shmuel
Posts: 5232
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 16 times
Been thanked: 152 times

Re: Публикация HASH под ссылками на закачку дистрибутивов

Post by Shmuel » Fri 06 Jun, 2014 07:45

AleXH wrote:А что насчёт публикации хэшей под ссылками на дистрибы - не реализуемо? или муторно?
Сложностей быть не должно. Если сочтут целесообразным - сделают.

User avatar
John Doe
Бюрократ
Posts: 11419
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 17 times
Been thanked: 101 times

Re: Публикация HASH под ссылками на закачку дистрибутивов

Post by John Doe » Fri 06 Jun, 2014 08:25

AleXH
Зачем только вы мешаете все вопросы в 1 теме?
Что увидит человек, зашедший сюда? "А, тут про луа..."
Так и уйдёт, не вникая что вы там хотели этим сказать.

User avatar
zg
zero-gravity
Posts: 5312
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 48 times
Contact:

Re: Публикация HASH под ссылками на закачку дистрибутивов

Post by zg » Fri 06 Jun, 2014 08:36

AleXH wrote:Скажем SHA1 или SHA256 - кто, что об этом думает?
какая от этого польза?

AleXH
Posts: 1000
Joined: Sun 12 Apr, 2009 05:21
Been thanked: 1 time

Re: Публикация HASH под ссылками на закачку дистрибутивов

Post by AleXH » Fri 06 Jun, 2014 12:16

John Doe wrote:Зачем только вы мешаете все вопросы в 1 теме?
Полагал что раз не сделано до сих пор, то ответ быстрее всего отрицательный. Поэтому содержание можно не выдерживать строго.
zg wrote:какая от этого польза?
Даже не знаю что ответить... Имхо польза очевидная - пользователь может сравнить хэш тем же HashCRC, либо HashTab и быть уверенным, что скачал он то, что клалось на сервер изначально. И если для ночнушек это не столь важно, поскольку срок жизни у них максимум сутки, то для стабильных сборок это уже актуально. Или они тоже каждые сутки пересобираются? В любом случае публиковать хэш это правило хорошего тона. Ведь мнительные пользователи тоже люди.

User avatar
zg
zero-gravity
Posts: 5312
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 48 times
Contact:

Re: Публикация HASH под ссылками на закачку дистрибутивов

Post by zg » Fri 06 Jun, 2014 14:08

AleXH wrote:Имхо польза очевидная - пользователь может сравнить хэш тем же HashCRC, либо HashTab и быть уверенным, что скачал он то, что клалось на сервер изначально.
если файл заменил злоумышленник, что мешает ему заменить хэш? если файл побился, то у 7z/msi есть внутренние способы контроля целостности и какой смысл в дополнительном хэше?
AleXH wrote:Ведь мнительные пользователи тоже люди.
мнительные пользователи собирают всё сами из исходников.

User avatar
John Doe
Бюрократ
Posts: 11419
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 17 times
Been thanked: 101 times

Re: Публикация HASH под ссылками на закачку дистрибутивов

Post by John Doe » Fri 06 Jun, 2014 15:37

Вот тут ещё один пользователь высказывал сожаление по поводу того что хэш не указывается.

AleXH
Posts: 1000
Joined: Sun 12 Apr, 2009 05:21
Been thanked: 1 time

Re: Публикация HASH под ссылками на закачку дистрибутивов

Post by AleXH » Fri 06 Jun, 2014 16:47

если файл заменил злоумышленник, что мешает ему заменить хэш?
Это зависит от прав. Если для замены файла требуются одни права, а для изменений шаблонов сайта другие, то это уже веселее. В любом случае это больше работы, и соответственно требует больше времени, поэтому некая польза есть.

Никто не спорит, что компилировать безопаснее, но для этого нужно иметь среду компиляции и некоторые навыки, а также некоторое время - гораздо проще и быстрее просто сравнить хэши.

Независимо от реальной пользы хэша есть такая вещь, как спокойствие и комфорт пользователей и если схождение хэша придаст им уверенности при установке софта, то проделанная работа по его добавлению имеет смысл. Ещё раз обращаю ваше внимание - наличие хэша это хороший тон.

Другой случай - скачал - архив битый, скачал ещё раз, опять битый, ещё, снова битый - кто виноват? может он на сервере, либо кэше провайдера уже битый? А хэш бы дал возможность проверить.

User avatar
Alexey Samlyukov
Posts: 1759
Joined: Tue 15 Mar, 2005 17:28
Been thanked: 2 times
Contact:

Re: Публикация HASH под ссылками на закачку дистрибутивов

Post by Alexey Samlyukov » Fri 06 Jun, 2014 17:26

предложение из копилки techie... как он еще не высказался, забанили? :P

User avatar
techie
Posts: 761
Joined: Mon 03 Oct, 2005 22:42
Has thanked: 28 times
Been thanked: 2 times

Re: Публикация HASH под ссылками на закачку дистрибутивов

Post by techie » Sun 03 Aug, 2014 18:08

копилку спёрли.. =)

Считать хэш имеет смысл, если файл хранится на другом сервере, не защищённом сертификатом (CDN там какой-нибудь). При этом MD5 уже юзать не стоит - его можно подделать дописыванием к концу файла. Если хэш передаётся по обычному HTTP вместе с файлом, то тут ничто ни от чего особо не защищается и хэш тут не поможет. Если товарищи были достаточно грамотные, чтобы залить заражённый дист, то и хэш новый подсунуть они позаботятся.

User avatar
John Doe
Бюрократ
Posts: 11419
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 17 times
Been thanked: 101 times

Re: Публикация HASH под ссылками на закачку дистрибутивов

Post by John Doe » Wed 03 Sep, 2014 18:03

AleXH wrote:
zg wrote:какая от этого польза?
Даже не знаю что ответить... Имхо польза очевидная - пользователь может сравнить хэш тем же HashCRC, либо HashTab и быть уверенным, что скачал он то, что клалось на сервер изначально.
Что если подписывать far.exe?

Post Reply

Return to “Обсуждение www.farmanager.com”