Deceiver · 30-Июл-10 14:15(14 лет 3 месяца назад, ред. 10-Фев-14 23:58)
Хэш калькулятор-компаратор Версия: 1.0 Платформа: Windows (All) Совместимость с Vista: полная Системные требования: наличие Microsoft .NET 2.0 (есть у всех вменяемых людей) Язык интерфейса: английский + русский Таблэтка: Не требуется Описание: Маленькая, очень маленькая программка для вычисления значений хэш-функций файлов по алгоритмам SHA1 и МD5, очень удобна для проверки целостности и соответствия продекларированных файлов своим аналогам по известным значениям SHA1 и MD5. Иногда возникает неуверенность в подлинности или целостности того или иного файла скачанного из инета (особенно ёмкого по размеру), проверить подлинность/целостность позволяет получение значений хэш-функций SHA1 и MD5 для файла. На официальных ресурсах стали размещать эти значения вместе с файлами чтобы можно было проверить оригинальность файла скачиваемого в т.ч. с множеств "зеркал", так можно быть уверенным что вы скачали то что нужно вместо того что вам подсунули в "левой" сборке выдаваемой за подлинник. Причём по значению Хэш-функций можно искать ссылки на ресурсы в инете касаемые именно данного файла, значение хэш-функции которого может быть введено в поисковике. К примеру у вас есть ISO образ дистрибутива - по SHA1 или MD5 можно обнаружить всевозможные тематические ссылки на него - от мануалов до кейгенов или патчей.
программеры в конец отупели,
этой проге требуется .NET
и при этом хвастуются, что у них программа маленькая.
Отупели не программеры, а пользователи подобные zhelezyaka объясняю как пришёл к такому выводу:
1. .NET 2.0 на сегодняшний день есть на всех компах с платформой Windows (даже на тех где про него и не знают).
2. Программа действительно маленькая и позволю себе заметить - намного быстрее известных аналогов, это факт а не хвастовство.
3. Это просто полезный и удобный инструмент. P.S. Действительно, такая программка на .NET (С# (Си-шарп)) пишется 10 минут, и работает ну ооочень быстро. Для тех кто не в курсе - процедура JIT-компиляции адаптирует и оптимизирует, однократно генерируемый на лету, исполняемый код под конкретное сочетание процессор+ось в целях максимальной производительности. Поэтому, "Железяки" - читаем Джеффри Рихтера и прекращаем ставить себя в дурацкое положение дурацкими изречениями.
Отупели не программеры, а пользователи подобные zhelezyaka объясняю как пришёл к такому выводу:
1. .NET 2.0 на сегодняшний день есть на всех компах с платформой Windows (даже на тех где про него и не знают).
2. Программа действительно маленькая и позволю себе заметить - намного быстрее известных аналогов, это факт а не хвастовство.
3. Это просто полезный и удобный инструмент. P.S. Действительно, такая программка на .NET (С# (Си-шарп)) пишется 10 минут, и работает ну ооочень быстро. Для тех кто не в курсе - процедура JIT-компиляции адаптирует и оптимизирует, однократно генерируемый на лету, исполняемый код под конкретное сочетание процессор+ось в целях максимальной производительности. Поэтому, "Железяки" - читаем Джеффри Рихтера и прекращаем ставить себя в дурацкое положение дурацкими изречениями.
наверно отвечать лучше по пунктам:
1. На моих компах нет .NET 2.0 и т.п. (не нужно всех приравнивать к тем, кто "засерает" свои компы)
2. То что программа маленькая это действительно огромный плюс, но это ложь - потому что она не работает без .NET, который весит десятки мегабайт.
Факт - что аналоги есть, например: http://code.kliu.org/hashcheck/ но совсем не факт, что эти аналоги медленнее, скорее наоборот
3. Это просто полезный и удобный инструмент не для "отупевших пользователей" подобно мне (найдем что получше ) P.S. если честно, разозлило меня то, что автор просто не написал что требуется .NET (я предпочитаю писать на ассме, и постоянно ругаю себя - старого дурака, что пора-бы уже освоить что-то "высоко-технологичное")
наверно отвечать лучше по пунктам:
1. На моих компах нет .NET 2.0 и т.п. (не нужно всех приравнивать к тем, кто "засерает" свои компы)
2. То что программа маленькая это действительно огромный плюс, но это ложь - потому что она не работает без .NET, который весит десятки мегабайт.
Факт - что аналоги есть, например: http://code.kliu.org/hashcheck/ но совсем не факт, что эти аналоги медленнее, скорее наоборот
3. Это просто полезный и удобный инструмент не для "отупевших пользователей" подобно мне (найдем что получше ) P.S. если честно, разозлило меня то, что автор просто не написал что требуется .NET (я предпочитаю писать на ассме, и постоянно ругаю себя - старого дурака, что пора-бы уже освоить что-то "высоко-технологичное")
.NET 2.0 входит в большинство неофициальных сборок Windows XP и гарантированно во все дистрибутивы Vista и 7. Как штатная надстройка в ОС, исполняющая среда .NET не имеет ни одного довода против того, чтобы не быть в составе ОС, помимо тех 210 Мегабайт что занимают компоненты .NET прозрачно интегрируясь в систему, но они незаметны и не критичны. В любом случае нездоровый характер неприятия .NET, преимущества которого очевидны для серьёзных, прикладных и масштабируемых разработок, наверняка не очевидны для людей страдающих комплексом неполноценности или непризнанности и в силу этого готовых тратить месяцы работы на asm-e, доказывая себе собственную исключительность, по сравнению с разработками которые в .NET занимают несколько часов или дней.
То что вы, может быть (но я сомневаюсь - есть вопиющие моменты) владеете asm, безусловно делает вам честь, но тот факт что вы подчёркиваете это вне контекста его использования, обращает весь эффект в минус.
На asm-е можно делать всё, но особенный идиотизм реализовывать на нём механизмы ООП, STL и абстрактной логики, без которых не обходится ни одна серьёзная программа.
zhelezyaka, напиши такую же без .NET и выложи в соседнем топике. Слабо? Тогда не жужжи здесь. зы. автору респект, консольный md5sum слишком уж не удобен в виндовсах.
zhelezyaka, напиши такую же без .NET и выложи в соседнем топике. Слабо? Тогда не жужжи здесь.
зы. автору респект, консольный md5sum слишком уж не удобен в виндовсах.
zhelezyaka, напиши такую же без .NET и выложи в соседнем топике. Слабо? Тогда не жужжи здесь.
зы. автору респект, консольный md5sum слишком уж не удобен в виндовсах.
Я в шоке человек написал программку, отдал всем на халяву, а его ещё и обосрали.
Ну что за уроды, вообще мерзкие люди.
Надеюсь к вам придут менты и посадят за хороший, платный но не лицензионный софт.
А по моему хороша прога (пользуюсь с момента последнего моего поста)
Порой нужно проверить эту парочку хешей на чужом ПК. (ну а в этом случае прога на 5+)
А по моему хороша прога (пользуюсь с момента последнего моего поста)
Порой нужно проверить эту парочку хешей на чужом ПК. (ну а в этом случае прога на 5+)
Спасибо, приятно когда результат даже 20 минутного труда, для решения текущей локальной задачи, имеет долгоиграющую пользу.
Как я уже говорил, моя утилитка это 20 минутная сборка в VS2010 под .NET 2.0 написанная на C#,
исключительно ради того чтобы найти в сети ресурсы относительно одного уникального ISO образа, я ей просто поделился.
Автор, при сравнении ваша программа пишет, что не совпадают хеши SHA1:
AC9E89240CE37810FEBF59E28DB655D1271B2FEA
и
ac9e89240ce37810febf59e28db655d1271b2fea Получается, что у них - у gnupg - нет разницы большая маленькая буквы, а ваша программа ругается. Им то виднее наверное. Можно как опцию добавить - считать буквы разными или нет, а если точно знаете, что все буквы должны быть заглавными - можно перекодировать автоматически из маленьких в большие. Можете проверить: http://www.gnupg.org/download/integrity_check.en.html - тут хеш gnupg-w32cli-1.4.14.exe
ftp://ftp.gnupg.org/gcrypt/binary/ - тут сам этот файл
60984419Автор, при сравнении ваша программа пишет, что не совпадают хеши SHA1:
AC9E89240CE37810FEBF59E28DB655D1271B2FEA
и
ac9e89240ce37810febf59e28db655d1271b2fea Получается, что у них - у gnupg - нет разницы большая маленькая буквы, а ваша программа ругается. Им то виднее наверное. Можно как опцию добавить - считать буквы разными или нет, а если точно знаете, что все буквы должны быть заглавными - можно перекодировать автоматически из маленьких в большие. Можете проверить: http://www.gnupg.org/download/integrity_check.en.html - тут хеш gnupg-w32cli-1.4.14.exe
ftp://ftp.gnupg.org/gcrypt/binary/ - тут сам этот файл
Когда утилита создавалась - приведение к общему символьному регистру было для меня неважно, поэтому я не уделил внимание этому вопросу, потом меня посещали мысли что наверное правильнее было-бы так сделать, но исходники затерялись и я решил что пусть останется так как есть
Хочу вам заметить, что не стоит он на всех компах. Например, я ставлю оригинальную Win XP... и там, слава богу, его нет. Потом я уже ставлю сам этот NET, если он нужен... А раз так, я стараюсь не использовать программу, если она требует NET. При том, если есть альтернатива, которая обходится без NET. Смысла в этих бесконечных NET вообще не вижу, винда и так содержит все эти вещи. Все эти библиотеки многократно дублируются. Ну а сам юзаю WinAPI. Вот, действительно, получается программа, которая ничего не просит и работает, ну практически, на всех виндах (от 9X до 8). А HashTab - очень удобная вещь, действительно. Юзаю давно.
Хочу вам заметить, что не стоит он на всех компах. Например, я ставлю оригинальную Win XP... и там, слава богу, его нет. Потом я уже ставлю сам этот NET, если он нужен... А раз так, я стараюсь не использовать программу, если она требует NET. При том, если есть альтернатива, которая обходится без NET. Смысла в этих бесконечных NET вообще не вижу, винда и так содержит все эти вещи. Все эти библиотеки многократно дублируются. Ну а сам юзаю WinAPI. Вот, действительно, получается программа, которая ничего не просит и работает, ну практически, на всех виндах (от 9X до 8). А HashTab - очень удобная вещь, действительно. Юзаю давно.
Позвольте заметить, что возникновение парадигмы исполняющих сред, к которым относятся .NET и Java заложено самой эволюцией информационных технологий, постепенное но последовательное удаление от низкоуровневых элементов и приближение к абстрактным конструкциям общих для любых аппаратных реализаций, делает возможным решать задачу без оглядки на платформу, во-вторых - как ни парадоксально но, исполняющая среда позволяет параллелить код между ядрами, если его архитектурное построение допускает такую возможность (причем совершенно прозрачно для пользователя) и как-бы вам было ни неприятно ... но решение задачи на .NET требует на порядок меньше времени чем аналога в Win32
65291410но решение задачи на .NET требует на порядок меньше времени чем аналога в Win32
Сейчас у меня по работе стоит задача сделать калькулятор MD5 (это надежнее чем CRC-16/32) для DOS. Да, для старой доброй DOS. Я работаю в сфере создания промышленных вычислительных систем для серьезного применения (космос/авиа). Как мне поможет в реализации задачи хваленый NET ? Да, сам алгоритм MD5 "на голом C" (не C++) я взял из открытых источников (ну не может все сделать один человек, увы), но, вызов его и привязка из своей среды пишу все сам. И смогу потом его портировать на практически любую встраиваемую вычислительную систему (со всякими watchdog, вы же в курсе что это?), т.е. динамически выделяемой памяти и классов там быть не должно...
65291410но решение задачи на .NET требует на порядок меньше времени чем аналога в Win32
Сейчас у меня по работе стоит задача сделать калькулятор MD5 (это надежнее чем CRC-16/32) для DOS. Да, для старой доброй DOS. Я работаю в сфере создания промышленных вычислительных систем для серьезного применения (космос/авиа). Как мне поможет в реализации задачи хваленый NET ? Да, сам алгоритм MD5 "на голом C" (не C++) я взял из открытых источников (ну не может все сделать один человек, увы), но, вызов его и привязка из своей среды пишу все сам. И смогу потом его портировать на практически любую встраиваемую вычислительную систему (со всякими watchdog, вы же в курсе что это?), т.е. динамически выделяемой памяти и классов там быть не должно...
это зависит от того для какой платформы вы пишите ваш софт, если голый nix (Unix, Linux, FreeBSD) в промышленном использовании - то с/c++ без вариантов с привлечением Boost (там титанический набор классов на все случаи жизни).
Если win, то можно сделать COM-компонент на .NET (за 5-10 минут) который можно будет инициализировать и использовать его функционал из любой скриптовой среды - в том числе vsh, vbs, js ... и т.д., равно как и в клиентских приложениях.
Преимущество исполняющей среды .NET в том что в ней уже реализованы канонические алгоритмы которые можно подключать и использовать в своих приладах без оглядки на вероятную кривизну собственной или сторонней (непонятно чьей) реализации,
причем о переполнениях, исключениях корневого уровня, в случае .NET, можно забыть, ну и само собой - абстрагирование от низкого уровня позволяет концентрироваться на решении задачи а не мандражировать по поводу реализации - когда неизвестно в какой момент вылезет критический глюк по переполнению или null-указателю или нарушению доступа к запрещенной области памяти. Честно говоря, мне тяжело вообразить серьёзное применение промышленных приложений под DOS-платформу, защита-надёжность-модульность-средства интеграции-мультипоточность-параллелизм, на уровне сервисов системы, отсутствуют как понятия, для более-менее емких вычислений и обработок сравнительно-больших массивов данных, при использовании всей доступной памяти - танцы с бубном отображаемой памяти с драйвером EMM/QEMM или Dos4gw, при всём при том что все современные или почти современные реализации канонических алгоритмов, скорее всего придётся делать самостоятельно крестясь и сплёвывая через левое плечо, любой Линух даст 100 кратное преимущество по трудозатратам, надёжности и производительности, так что мне, при всём уважении к космо/авиа отраслям, ваша проблематика кажется очень пугающей если не сказать безумной,
что-же касается программ работающих в рамках снятия элементарных показателей с датчиков - то их и программами тяжело назвать, если они делаются каждая конкретно под свое устройство, другое дело когда данные консолидируются и управляются централизованно - на простом си написать можно но развитие и поддержка станут адовыми, поэтому в данном случае могу порекомендовать Watcom C++ 11 и всю мощь Dos4gw