Search
Write a publication
Pull to refresh
-24
0
Антон Холодцов @Error_403_Forbidden

User

Send message

Обратимое шифрование текста — метод «Двойной квадрат»

Reading time5 min
Views50K
Здравствуйте!

Однажды, мне понадобилось шифровать текст. Я знал что в PHP есть расширение mcrypt, но интуиция подсказывала, что не на всех хостингах это включено.
Поэтому я начал подозревать что придется кодить решение самому. Что я собственно и сделал. Получилась функция обратимого шифрования, достаточно быстрая и надежная.
Пример работы функции:
<?php 
	echo dsCrypt('habrahabr.ru');
	//Выведет: 60634K7T0*0!
	echo dsCrypt('60634K7T0*0!',1);
	//Выведет: habrahabr.ru
?>

Если вы все еще пользуетесь XOR шифрованием :), то можете заглянуть под кат и посмотреть как еще можно защищать данные…
Читать дальше →

Динамическая компиляция кода в C#

Reading time5 min
Views33K
Использовать компилятор из кода C# достаточно просто. А вот зачем – это другой вопрос :).

Hello World


Напишем первый простой пример. Создаем консольное приложение и напишем следующий код:
using System;<br>using System.CodeDom.Compiler;<br>using System.Collections.Generic;<br>using Microsoft.CSharp;<br><br>namespace ConsoleCompiler<br>{<br>  internal class Program<br>  {<br>    private static void Main(string[] args)<br>    {<br>      // Source code для компиляции<br>      string source =<br>      @"<br>namespace Foo<br>{<br>  public class Bar<br>  {<br>    static void Main(string[] args)<br>    {<br>      Bar.SayHello();<br>    }<br><br>    public static void SayHello()<br>    {<br>      System.Console.WriteLine(""Hello World"");<br>    }<br>  }<br>}<br>      ";<br><br>      // Настройки компиляции<br>      Dictionary<string, string> providerOptions = new Dictionary<string, string><br>        {<br>          {"CompilerVersion", "v3.5"}<br>        };<br>      CSharpCodeProvider provider = new CSharpCodeProvider(providerOptions);<br><br>      CompilerParameters compilerParams = new CompilerParameters<br>        {OutputAssembly = "D:\\Foo.EXE", GenerateExecutable = true};<br><br>      // Компиляция<br>      CompilerResults results = provider.CompileAssemblyFromSource(compilerParams, source);<br><br>      // Выводим информацию об ошибках<br>      Console.WriteLine("Number of Errors: {0}", results.Errors.Count);<br>      foreach (CompilerError err in results.Errors)<br>      {<br>        Console.WriteLine("ERROR {0}", err.ErrorText);<br>      }<br>    }<br>  }<br>}<br><br>* This source code was highlighted with Source Code Highlighter.

Запускаем и проверяем:
First Sample
Первое, на что стоит обратить внимание – это использование двух пространств имен (namespace):
  • Microsoft.CSharp
  • System.CodeDom.Compiler
В данных классах и содержится ключ к возможности компиляции. В нашем примере мы указываем что компилировать будем под .NET Framework 3.5, а так же указываем что мы хотим получить на выходе – Foo.exe, с возможностью запуска данного приложения.
Читать дальше →

Сверхплавное передвижение объектов

Reading time2 min
Views7.1K
Иногда у веб-разработчиков возникает задача, которая требует плавного движения объекта по экрану. Это может быть строка загрузки, какой-то спрайт (например, машинки на клавогонках) или что-то ещё. Проблема возникает, когда сдвиг даже на одну точку кажется слишком резким и портит общее ощущение от происходящего. Как этого избежать? Использовать приёмы антиалиасинга.

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

Как это сделано?
Читать дальше →

Robot Grammar Nazi: Робот, говори правильно!

Reading time3 min
Views2.6K
Даже когда люди общаются с автоматизированной системой, они делают множество выводов о том, что за «персонаж» с ними общается. Эти выводы складываются из многих характеристик, в том числе качества голоса, набора слов, способа их произнесения и т.п.

Это явление представляет возможность компании создать конкретный образ и расширить свой бренд посредством грамотного проектирования персонажа, являющегося визитной карточкой системы.
Некоторые дизайнеры думают, что нужно убедить пользователя в том, что с ним разговаривает человек…

Читать дальше →

Бумага как способ резервного копирования

Reading time4 min
Views13K
Нам, программистам, иногда приходится работать с кодированием текста. Но есть ещё один вид кодирования, который мы выполняем постоянно и так быстро, что не замечаем этого и забываем о нем. Я говорю о визуальном кодировании — распознавании символов алфавита, которое вы делаете прямо сейчас при чтении этого текста. Для машин с оптическим распознаванием символы алфавита ничем не отличается от любого другого потока входящих данных, кроме того, что машины в данном случае — это мы.

Но насколько эффективен алфавит как способ кодирования данных? Рассмотрим несколько разных технологий визуального представления данных, которые можно увидеть на бумаге или на мониторе:

Перфокарта IBM 5081: до 80 букв и цифр
codinghorror-5081-punch-card.png

Читать дальше →

RentACoder и карта Payoneer

Reading time3 min
Views9.4K
3 недели назад заказывал дебетовую карту Payoneer для вывода средств с фриланс-ресурса RentACoder. Вчера карточку прислали. Поэтому хочется немного рассказать о ней. Надеюсь, информация окажется полезной.
Payoneer

Читать дальше →

Yahoo выпустила конструктор метапоисковиков

Reading time1 min
Views1K
Конструктор Yahoo! Alpha работает через интуитивный интерфейс: создать свой метапоисковик можно в несколько щелчков мышкой, перетаскивая виджеты на экране. Пока выпущена только бета-версия Yahoo! Alpha, но она выглядит очень многообещающе.


Читать дальше →

Просимся в поиск к пользователю с помощью OpenSearch

Reading time2 min
Views12K
Хабрапоиск
На картинке есть одна деталь, которую не все замечают. Подсветка стрелки выпадающего меню. Значит сайт, на котором вы находитесь, предлагает добавление поискового плагина. Работает в Firefox и IE.

Как это сделать на примере Хабрапоиска

Hid.im преобразует торренты в изображения PNG

Reading time2 min
Views2.9K
Hid.im — новый сервис в Паутине, позволяющий пользователям скрывать файлы .torrent внутри изображений PNG. Это значит, что пользователи могут с лёгкостию закачивать сокрытые торрентовые файлы на свои любимые хостинги изображений и форумы, или использовать как аватары на сайтах социальных сетей, не подвергаяся цензуре.

[hid.im]Вы из тех людей, которые всегда мечтали упрятать торрент внутри картинки? Не ждите долее; на сайте Hid.im достаточно единожды жмякнуть мышóю, чтобы преобразовать торрент в файл картинки с возможностью позднее декодировать его обратно.

Должны признаться, что полезность этой службы не сразу стала нам очевидною, когда мы впервые обнаружили сей проект. Так что мы связались с Майклом Наттом (Michael Nutt) — одним из сотрудников проекта — чтобы выяснить, к чему это всё.

«Это попытка сделать торренты более живучими, — поведал Майкл сайту TorrentFreak. — Разница в том, что нет больше нужды именно в индексирующем сайте, чтобы хранить ваш торрентовый файл. Многие форумы дозволяют закачку картинок, но более никаких других типов файлов».

Сокрытие торрентового файла внутри картинки происходит с достаточной лёгкостию. Просто выберите торрентовый файл, лежащий на вашем жёстком диске — об остальном позаботится Hid.im. Единственное ограничение сервиса: размер файла торрента не может превышать 250KB.

Как только торрент преобразован, вы можете легко его расшарить посредством средств хостинга картинок или сайтов социальных сетей, не дозволяющих закачку файлов .torrent.

Получатели могут декодировать картинки и получать исходный файл .torrent при помощи дополнения к Файерфоксу или букмарклета (то есть джаваскрипта в закладках — прим. пер.). Исходный код полностью открыт, и Майкл Натт поведал нам, что они надеются на помощь других людей, на появление дополнительных декодировщиков, поддерживаемых остальными браузерами.

Идея преобразования торрентов в картинки — не вполне новинка. Приложение Stegtorrent существует вот ужé несколько лет, совершая нечто подобное. Однако, в отличие от Stegtorrent, Hid.im располагается в Паутине, так что пользователям не приходится устанавливать никакое программное обеспéчение.

Хотя мы не вполне уверены, насколько полезен сайт Hid.im среднему пользователю BitTorrent, он наверняка придётся кстати в тех местах, где торренты воспрещены.

[Декодируй изображение и получи сокрытый торрент.]

$10000 за лучшее приложение на Silverlight

Reading time1 min
Views449
ComponentArt Silverlight Coding Competition


В конце июня стартовал летний конкурс Silverlight-разработчиков, организованный ComponentArt. Победителя ждет ценный приз — $10000!

Полная версия правил доступна на странице сайта. Конкурс продлится до 22 сентября, публичное голосование уже идет, а победителей объявят 20 октября.

И да, участвовать могут разработчики со всего мира, в том числе из России.

Ломаем капчу

Reading time3 min
Views80K
Гуляя по просторам интернета, зашёл на один высокопосещаемый древний сайт рунета. Для того, чтобы скачать файлик с этого сайта, нужно угадать вот такую капчу:
image
В очередной раз видя картинку с цифрами — решился. В голове уже давно проносились мысли, сломать какую-нибудь капчу :)

Ставлю себе задачу: Написать скрипт, который будет расшифровывать показанную капчу и выплевывать драгоценные циферки.

Название сайта специально не привожу — сами догадаетесь :)

Итак, поехали!

Читать дальше →

XSS вконтакте

Reading time2 min
Views9.4K

Предыстория (можно не читать)


Прихожу я сегодня домой и вижу в личке вконтакта 9 сообщений. Т.к. я не особо люблю и не часто посещаю этот ресурс — сие событие было странным. В сообщениях пользователи писали что от меня вконтакте рассылается спам. Плохо, но да ладно, сменил пароль и все… Хотя задумался: старый пароль — 12 символьный цифробуквенный, сбрутить почти нераельно. Комп кристально чист и не заразен… Так в чем же дело?
Читать дальше →

Случайные числа из звуковой карты

Reading time15 min
Views13K
Многие когда-либо интересовались случайными числами. Хочу поделиться моими экспериментами по получению истинно случайных чисел с помощью «аппаратного генератора» встроенного в практически любой компьютер — звуковой карты.

При подготовке материала, я переписал свой старый Си код на Питоне, поэтому данный опус также является примером по использованию Windows DLL из Питона с использованием стандартной библиотеки ctypes.

В конце статьи сравниваются данные полученные от двух звуковых карт Realtek и Audigy 2, приведены результаты статистических тестов на случайность.

UPD Исправил пропавшие в коде нули, которые съело НЛО.
Читать дальше →

Кузявые ли бутявки, т.е. пишем морфологический анализатор на Python

Reading time8 min
Views54K
Морфологический анализатор для русского языка — это что-то заумное? Программа, которая приводит слово к начальной форме, определяет падеж, находит словоформы — непонятно, как и подступиться? А на самом деле все не так и сложно. В статье — как я писал аналог mystem, lemmatizer и phpmorphy на Python, и что из этого получилось.
Читать дальше →

Каптчи. Способы взлома и защиты

Reading time3 min
Views4.4K
Кросс-пост из нашего блога, посвященному компьютерной безопасности

Ранее мы писали о уязвимостях каптч на сайтах компании Киевстар и Билайн. Теперь мы хотим, вашему вниманию предоставить наше исследование в области взломов и защиты каптч.
Читать дальше

Облачные вычисления: основы применения в сфере Интернет-стартапов

Reading time13 min
Views22K
Всем привет :)
Этот мой первый пост на Хабре — доклад на конференцию «Электронный бизнес и управление Интернет-проектами» , которая проходила в ГУ-ВШЭ 19-20 мая.
Буду рад любым Вашим комментариям и замечаниям.
UPD К сожалению, нет возможности перенести в тематический блог :( Пусть висит здесь :)
UPD2 Спасибо за карму, перенес в этот блог (блога Облачных вычислений не нашел, плохо искал?)
UPD3 Я реально попал на главную, или мне снится? о_О
Острожно: много букоф! :)

Аннотация: В этой работе рассматривается новая технология под названием облачные вычисления, основы ее применения, преимущества ее использования в целом по сравнению с другими технологиями и в сфере Интернет-стартапов в частности, а так же проблемы, возникающие при предоставлении и использовании облаков.

Введение
История знает множество примеров того, как некий продукт постепенно превращался в определенную общественную услугу. Достаточно вспомнить лишь переход от газовых горелок и газовых баллонов к публичной услуге предоставления газа. Такие примеры предоставляют нам понимание того, как уникальность технологии постепенно получает массовость, превращаясь в сервис.
Еще совсем недавно, буквально 20 лет назад, доля использования информационных технологий в бизнесе составляло меньше 5-10 %. Сейчас – практически 100%. Переход от уникальности к масштабности позволяет воспринимать вычислительные мощности уже не как отдельный компьютер-сервер, стоящий в здании организации, а как услугу, которая предоставляется неким далеким датацентром.
Читать дальше →

Обеспечение и сбор доказательств с помощью Интернета

Reading time12 min
Views6.9K
Вестник ВАСа № 3 2003 г

ОБЕСПЕЧЕНИЕ И СБОР ДОКАЗАТЕЛЬСТВ С ПОМОЩЬЮ ИНТЕРНЕТА. ПРОЦЕССУАЛЬНЫЙ СТАТУС ДОКАЗАТЕЛЬСТВ, ПОЛУЧЕННЫХ С ПОМОЩЬЮ ИНТЕРНЕТА
image
Cамой сложной проблемой в спорах о правонарушениях, совершенных с помощью сети Интернет, является проблема доказывания состава правонарушения, которая, в свою очередь, распадается на две составляющие:
1) правовые основания и порядок сбора и обеспечения доказательств и
2) допустимость таких доказательств с точки зрения процессуального права.
Интернет является средством делового общения, получения актуальной информации, ведения предпринимательской деятельности, поэтому все большее число пользователей могут стать и становятся жертвами правонарушений' в Сети. Борьба с ними в последние годы перестала быть праздной теоретической задачей. Более того, правонарушения в Интернете могут затрагивать права и интересы лиц, не являющихся пользователями Сети и даже не знающих о ее существовании.
Читать дальше →

Evernote и «Вселисделал»: диктуйте заметки по телефону

Reading time3 min
Views3.9K
image

Перед нами постоянно стоит задача предлагать пользователям новые варианты для создания заметок в разных ситуациях. Уже есть клиентские приложения Evernote для разных платформ и мобильных устройств, тесная интеграция с операционными системами и браузерами — все это позволяет достаточно быстро и удобно создавать текстовые, аудио- и фотозаметки и синхронизировать их. Но есть одно «но». До сих пор пользователь все равно зависел от наличия Интернета. Кажется, нам помогли обойти и этот момент.

Да, действительно доступ к Интернету есть не всегда, но зато практически постоянно под рукой есть мобильный телефон. Итак, благодаря сервису «Вселисделал», теперь появилась возможность надиктовывать аудиозаметки и даже помечать их метками простым звонком на бесплатный номер. За несколько дней тестирования мы уже успели наиграться с этой функцией и остались в полном восторге. Самое подкупающее в этой возможности — простота и универсальность. Фиксировать свои мысли можно практически в любой ситуации — на ходу, за рулем в машине, на утренней пробежке и т. д.

Как это работает?

Для работы нужны связанные аккаунты в сервисах «Вселисделал» и, разумеется, Evernote. Небольшая инструкция о том как это сделать чуть ниже.
image
Когда все настроено, достаточно позвонить на бесплатный номер 8-800-100-3342 и после приветствия системы продиктовать пришедшую на ум мысль, предварив ее ключевым словом EVERNOTE (произносится как ЭВЕРНОУТ). Например: «ЭВЕРНОУТ. Не забыть взять на завтрашнюю встречу распечатку презентации. МЕТКА «важно». Через пару минут соответствующая заметка с распознанным текстом уже появится в Evernote, и ей будет назначена метка «важно». При этом к заметке будет прикреплен WAV-файл с исходной записью вашего голоса. Стоит отметить, что возможность добавлять заметки голосом доступна даже в базовом аккаунте «Вселисделал», то есть бесплатна для пользователей.
image

Как привязать аккаунт во «Вселисделал» к аккаунту Evernote?
Читать дальше →

Научный поисковик от Вольфрама — запуск сегодня ночью!

Reading time1 min
Views1.9K
Сегодня в 19.00 CST (4:00 МСК) состоится запуск поисковой системы WolframAlpha, которую называют одним из самых ожидаемых веб-продуктов нынешнего года. Вокруг этой загадочной новинки ходит много разговоров, а попробовавшие систему в действии просто восхищены той работой, которую проделали сам гениальный м-р Вольфрам (он же создатель программы Mathematica, а до этого в 15 лет он написал свою первую научную работу по физике частиц) и 100 научных сотрудников, в течение нескольких лет отбиравших факты для работы математического движка системы WolframAlpha.

Новый поисковик станет первым в мире универсальным поисковиком научных знаний. Туда забили абсолютно все научные справочники, энциклопедии по всем областям знаний. Он даже и близко не собирается конкурировать с Google, зато будет гораздо полезнее Википедии для поиска и обработки научной информации.

Публикуем под хабракатом десяток скриншотов, снятых во время предварительного показа альфа-версии системы, проведённого для журналистов неделю назад. Обратите внимание, как поисковик обрабатывает поисковые запросы и какую гору информации, графиков выдаёт в ответ. Плюс ко всему, Alpha API изначально будет интегрирован с программой Mathematica.


Читать дальше →

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity