воскресенье, 12 июня 2011 г.

Чтобы хранить что-то в дропбоксе в криптованном виде, можно воспользоваться следующей командой:

cat ~/.pswd | encfs -S --reverse ~/devel ~/Dropbox/devel


 Здесь ~/devel -- исходник, криптованный вид которого оказывается в ~/Dropbox/devel, а ~/.pswd -- файл, в котором записан пароль для шифрования.


Для восстановления оригинала по криптованной копии нужно держать где-то еще копию файла .encfs6.xml из папки ~/devel. Тогда можно подмонтировать криптованную копию командой:

cat ~/.pswd  | ENCFS6_CONFIG=~/saved/.encfs6.xml encfs -S  ~/Dropbox/devel ~/d

Здесь ~/d -- "живая" копия исходной папки, а ~/saved/.encfs6.xml -- копия соответствующего файла, вытащенная откуда-то еще. Все ее изменения  будут транслироваться на криптованную, а если она смонтирована из исходной, то и на нее. Так можно расшаривать папки, прозрачно шифруя их в дропбоксе. Если это не желательно, к команде выше надо добавить "-- -o ro".

Картинка для отвлечения внимания
Я просто положу это здесь
То же самое, но в виде файла

четверг, 24 июня 2010 г.

Для памяти: Philips/NXP выпускает совершенно замечательные расширители ввода-вывода, управляемые по i2c. PCA9535, PCA9555 и т.п. Эротические танцы со сдвиговыми регистрами и мультиплексорами остаются в прошлом.

четверг, 29 апреля 2010 г.

Генератор паролей для онлайн-сервисов

При использовании нескольких веб-сервисов существует опасность взлома одного из них и получения злоумышленником пароля пользователя. Ущерб от этого возрастает многократно, если пользователь поленился использовать различные пароли для всех сервисов. Простой способ иметь общий секрет для всех сервисов, но разные пароли к ним - это порождение паролей с помощью хэш-функции от секрета с добавлением уникальной строки для каждого сервиса. При этом пароли все будут разные, секрет надо будет запомнить только один, а восстановить секрет, даже если злоумышленник завладел одним или несколькими паролями, будет достаточно сложно. Вот алгоритм, который использую я (bourne shell):

echo "Service name:"
read s
echo "User name:"
read u
echo "Secret password:"
read p
ts=`echo "$u@$s" | sha1sum | cut -f 1 -d ' '`
ps=`echo "$p" | sha1sum | cut -f 1 -d ' '`
key=`echo "$ts:$ps" | sha1sum | cut -b 1-12`
echo $key