![](https://habrastorage.org/storage/habraeffect/bf/22/bf223da6beabe61c2d6aab8344062547.png)
8 полезных сервисов для веб-разработчика и дизайнера
![](https://habrastorage.org/storage/habraeffect/bf/22/bf223da6beabe61c2d6aab8344062547.png)
Пользователь
Долгое время я считал, что криптографические алгоритмы шифрования и хеширования, вроде AES и MD5, устроены очень сложно и написать их совсем не просто, даже имея под рукой полную документацию. Запутанные реализации этих алгоритмов на разных языках программирования только укрепляли это мнение. Но недавно у меня появилось много свободного времени и я решил разобраться в этих алгоритмах и написать их. Оказалось, что они очень просто устроены и для их реализации нужно совсем немного времени.
В этой статье я напишу как устроен алгоритм шифрования AES (которого иногда называют Rijndael) и напишу его на JavaScript. Почему на JavaScript? Чтобы запустить программу на этом языке, нужен только браузер в котором вы читаете эту статью. Чтобы запустить программу, скажем, на C, нужен компилятор и найдётся совсем мало желающих, готовых потратить время на компиляцию кода из какой то статьи. В конце есть ссылка по которой можно скачать архив с html страницей и несколькими js файлами — это пример реализации AES на JavaScript.
iperf -s
, тогда слушать будет на всех интерфейсах.iperf -c X.X.X.X
(адрес сервера из предыдущего этапа). Клиент подключается, работает 10 с и показывает скорость работы канала.iperf -s 192.0.2.1
на клиенте iperf -c 192.0.2.1
.UPDATE: Статья была написана в 2010 году. Кое-что изменилось: вышли новые версии программ, у nginx изменились некоторые директивы и появились новые. Учитывайте это.