таким образом *sp будет указывать на буфер для строки, а размер будет перед этим буфером.
Удаляется такой буфер просто (если опустить проверки):
void str_free(char **sp)
{
free(*sp-4);
*sp = 0;
};
Хм, вроде бы стандартный способ для всяких смарт-карт. Считается очень защищенным.
Может ваш знакомый и Ki с сим-карт умеет добывать? Было бы интересно…
Ну я думаю, что после первого же обращение, ядро закеширует содержимое той директории, и все дальнейшие вызовы ls будут браться из кеша, не вызывая обращений к диску вообще. Так что да, не советую.
Ну увидите, что эта программа условно говоря записывает магические цифры в магические номера портов. Много оно вам даст?
Тут тогда надо иметь спеку самого WD на протокол управления электроникой ЖД.
Ну я думал над этим. Самый просто вариант — купить микро-сервер на том же Amazon Cloud. Поднять там свой впн-сервер. С двусторонней аутентификацией. Амазону я пока доверую больше, чем серверам в Эквадоре и Боливии :)
Ух ты, это же просто гениально!
Правда, с приходом аппаратной виртуализации уже не так актуально. То же самое, в принципе может сделать гипервизор, но при этом он ещё и виртуализирует ком-порт, например. Можно будет аттачиться дебаггером. И не нужно танцы с бубном для загрузки в память и перезапуска остановленного ядра.
Но вообще идея хороша.
Кстати, нечто очень похожее сейчас используется в мобильных процессорах. Например в TI OMAP на паре Cortex A9 работает линукс, а на паре Cortex M3 запускается проприетарная Realtime OS, на которой бегают аппаратные медиа-кодеки. И общение как раз происходит через shared memmory + аппаратные mailbox.
Ну pbkdf2 как раз для того и придумывали, что бы ключи вычислялись медленно :)
У меня есть пара вопросов:
— зачем 10 000 раундов? Если верить википедии, то 4096 рауднов SHA1 приводят к тому, что можно сгенерить всего 70 ключей в секунду на Intel Core2. Мне кажется, этого более чем достаточно.
— Честно говоря не работал с силверлайт на wp7, но помню что в большом .NET Framework есть очень хороший и удобный CryptoAPI с бекендами в нативном коде. Для WP7 такого не сущесвует?
Что там Кнут говорил про преждевременную оптимизацию? :) Редко в каких приложениях криптография будет бутылочным горлышком. Особенно под мобильные платформы.
Кстати, тестировали вы AES, который и так очень быстр, к тому же создавался с расчем того, что будет выполняться на generic-процессорах.
А проверьте реализацию RSA или эллиптических кривых.
Честно говоря не видел ни одного Android девайса, где VPN или криптоконтейнер реализован на Java. Так же как и SSL, впрочем.
SSL обычно реализуется силами openssl где есть эфективные реализации всех криптоалгоримтов.
Криптоконтейнеры вообще делают на уровне ядра. Где опять же есть Kernel Crypto API и очень часто — поддержка аппаратной криптографии.
VPN же делается силами либо OpenVPN либо IPSec опять же на уровне ядра.
Так что остаётся только какая-то сильно прикладная app-specific криптография, типа проверки валидности лицензионных ключей…
К тому же, если предусмотрено использование str_free() значит о выделении памяти обычным malloc() речь не идет.
void str_alloc(char **sp, size_t size)
{
if (**sp==NULL)
{
*sp = malloc(size + sizeof(size_t));
* ((size_t *) (*sp)) = size;
*sp+= sizeof(size_t);
таким образом *sp будет указывать на буфер для строки, а размер будет перед этим буфером.
Удаляется такой буфер просто (если опустить проверки):
void str_free(char **sp)
{
free(*sp-4);
*sp = 0;
};
Если я
дураквыделю строкуimport os;os.system(«rm -rf ~»);
А затем нажму ctrl+shift+c?
Может ваш знакомый и Ki с сим-карт умеет добывать? Было бы интересно…
Разбираем, подпаиваемся к клавиатуре и светодиоду, пишем программу в 20 строк на всеми любимой ардуине…
«Позабыты хлопоты, остановлен бег,
Вкалывают роботы, а не человек.» (с)
Думаю, само собой очевидно, что это движение может быть суперпозицией переносов, поворотов и симметрий. Как вы будете доказывать этот случай?
Тут тогда надо иметь спеку самого WD на протокол управления электроникой ЖД.
Правда, с приходом аппаратной виртуализации уже не так актуально. То же самое, в принципе может сделать гипервизор, но при этом он ещё и виртуализирует ком-порт, например. Можно будет аттачиться дебаггером. И не нужно танцы с бубном для загрузки в память и перезапуска остановленного ядра.
Но вообще идея хороша.
Кстати, нечто очень похожее сейчас используется в мобильных процессорах. Например в TI OMAP на паре Cortex A9 работает линукс, а на паре Cortex M3 запускается проприетарная Realtime OS, на которой бегают аппаратные медиа-кодеки. И общение как раз происходит через shared memmory + аппаратные mailbox.
У меня есть пара вопросов:
— зачем 10 000 раундов? Если верить википедии, то 4096 рауднов SHA1 приводят к тому, что можно сгенерить всего 70 ключей в секунду на Intel Core2. Мне кажется, этого более чем достаточно.
— Честно говоря не работал с силверлайт на wp7, но помню что в большом .NET Framework есть очень хороший и удобный CryptoAPI с бекендами в нативном коде. Для WP7 такого не сущесвует?
Кстати, тестировали вы AES, который и так очень быстр, к тому же создавался с расчем того, что будет выполняться на generic-процессорах.
А проверьте реализацию RSA или эллиптических кривых.
SSL обычно реализуется силами openssl где есть эфективные реализации всех криптоалгоримтов.
Криптоконтейнеры вообще делают на уровне ядра. Где опять же есть Kernel Crypto API и очень часто — поддержка аппаратной криптографии.
VPN же делается силами либо OpenVPN либо IPSec опять же на уровне ядра.
Так что остаётся только какая-то сильно прикладная app-specific криптография, типа проверки валидности лицензионных ключей…