Модераторы: xvr
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> /dev/urandom в чем особеность? можно ли использовать ГПСЧ ? 
:(
    Опции темы
andrew_121
Дата 8.11.2009, 21:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: 3
Всего: 33



Всем привет.
Есть такой код:
Код

#  define DEV_RANDOM_STR  "/dev/urandom"
static int dev_random = -1;

static void random_fini(void) {
    if ( dev_random >= 0 ) {
        close(dev_random);
    }
}

static int random_init(void) {
    if ( (dev_random = open(DEV_RANDOM_STR, O_RDONLY)) < 0 ) {
        D_ERR("Cannot open '" DEV_RANDOM_STR ": %s", strerror(errno));
        return -1;
    }

    atexit(random_fini);

    return 0;
}

int random_get_data(void* b, int s) {
    if ( dev_random < 0 ) {
        random_init();
    }

    if ( read(dev_random, b, s) < s ) {
        D_ERR("Cannot read %d random bytes.", s);
        return -1;
    }

    return 0;
}

который является частью программы. Появилась необходимость портирования программы на виндавз ОС. Интересует следующее - в чем принципиальная разница между /dev/urandom и rand() (к примеру). Помимо того что первый можно читать как файл?


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
MAKCim
Дата 8.11.2009, 22:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 84
Всего: 207



принципиальная разница в том, что rand() возвращает псевдослучайные числа
а /dev/urandom случайные в соответствии с числом бит шума пула энтропии ;)

читать man urandom


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
andrew_121
Дата 8.11.2009, 23:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: 3
Всего: 33



Цитата(MAKCim @  8.11.2009,  22:34 Найти цитируемый пост)
соответствии с числом бит шума пула энтропии

 smile Ух ты.. Пошел на википедию  smile 

А есть какой-то альтернативный генератор подобных чисел?


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
MAKCim
Дата 9.11.2009, 10:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 84
Всего: 207



для linux нет


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
xvr
Дата 9.11.2009, 19:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 20
Всего: 223



Цитата(andrew_121 @ 8.11.2009,  23:21)
А есть какой-то альтернативный генератор подобных чисел?

На Windows есть нечто подобное в CryptoAPI

PM MAIL   Вверх
MAKCim
Дата 10.11.2009, 09:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 84
Всего: 207



xvr
я полагаю, соответствующая поддержка должна быть несколько ниже, чем просто на уровне API ;)


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
xvr
Дата 10.11.2009, 09:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 20
Всего: 223



Цитата(MAKCim @ 10.11.2009,  09:34)
xvr
я полагаю, соответствующая поддержка должна быть несколько ниже, чем просто на уровне API ;)

Она там есть, но пользователю видна как раз на уровне CryptoAPI (CPGenRandom и CryptGenRandom)

PM MAIL   Вверх
andrew_121
Дата 11.11.2009, 03:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: 3
Всего: 33



xvr, Спасибо, ознакомлюсь.


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Программирование под Unix/Linux"
xvr
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой "Код".
  • Вопросы мобильной разработки тут
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, xvr.

 
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Программирование под Unix/Linux | Следующая тема »


 




[ Время генерации скрипта: 0.0484 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.