andrey.def wrote: > R>совпасть с уже имеющимся в интернете. Вы бы ещё предложили случайным > R>образом не задумываясь провести по клавиатуре... > > Пожалуйста, df1y свободный на yandex адрес.
На yandex много свободных адресов из этой серии. Тот, про который я
говорю тоже свободен на yandex.
> http://www.google.ru/search?hl=ru&q=df1y%40&btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA+%D0%B2+Google&lr=
Да, немало, причём есть и в текстах. Но 4-буквенных комбинаций вообще
мало, поэтому здесь ловить нечего.
> упоминаний как видите... > PS: мне понадобилось около 1 секунды, чтобы его сгенерить.
Мне надо чуть больше, чтобы вызвать программу генерации хороших паролей
с 4 байтами информации.
> PPS: дивизия китайцев с мешами от русского лото сведёт на нет 10-летнюю > работу по согданию ГСЧ...
4-символьные они положим выжрут. 4-байтные по информации стахановский
порыв Китая съест и не заметит, как и 5-байтные (хотя уже заметит). На
6-байтных они уже немного устанут. На 8-байтных — немного застрелятся.
Posted via RSDN NNTP Server 2.1 beta
Re[3]: Случайные числа, языки программирования и Интернет.
Здравствуйте, raskin, Вы писали:
R>Помните, что я говорил про нежелание отстать в 4 раза? Приведённое Вами R>не совсем в лоб, мягко скажем.
R>На самом деле у одного из товарищей шанса обломаться практически не R>было, а другой мог ошибиться — и ошибся.
Программист на C забыл/не обратил внимание, что rand() двухбайтовое число возвращает, вызвал два раза rand() и вывел в консоль два четырехбайтовых инта?
... << RSDN@Home 1.1.4 beta 7 rev. 447>>
Re[3]: Случайные числа, языки программирования и Интернет.
R>Помните, что я говорил про нежелание отстать в 4 раза? Приведённое Вами R>не совсем в лоб, мягко скажем.
То есть "не совсем"?
В условии не было про то, что С-шник идиот, так ведь?
По поводу "в 4 раза" — будем считать, что любитель шела читал маны
R>На самом деле у одного из товарищей шанса обломаться практически не R>было, а другой мог ошибиться — и ошибся.
У любителя шела то не было??
Я вот с первого раза написал
printf "%02x%02x",$RANDOM,$RANDOM
и получил полную фигню
На самом деле я знаю как дело было.
Они оба выяснили, что под рукой есть
только свежепоставленная винда без доступа к сети
Тогда С-шник в полном пролёте.
Действительно жестокий облом.
Любителю же шелла тоже прийдётся непросто, я так думаю.
Re[4]: Случайные числа, языки программирования и Интернет.
Здравствуйте, ilnar, Вы писали:
I>да, обламался тот который писал на шелле, т.к. админ-приколист переопределил /dev/random, другие пакеты, с которым могли на шелле получить случайное число
Не, обломался он по другой причине.
Трурль wrote: > I>да, обламался тот который писал на шелле, т.к. админ-приколист > переопределил /dev/random, другие пакеты, с которым могли на шелле > получить случайное число > Не, обломался он по другой причине. > > vasia@computer:~ $ cat random.sh > #! /bin/sh > ~petia/random > vasia@computer:~ $ cat .bash_history > find / -name "*random*"
Я уже кому-то ответил, что они получили разные результаты.
Posted via RSDN NNTP Server 2.1 beta
Re[4]: Случайные числа, языки программирования и Интернет.
_DAle_ wrote: > R>На самом деле у одного из товарищей шанса обломаться практически не > R>было, а другой мог ошибиться — и ошибся. > > Программист на C забыл/не обратил внимание, что rand() двухбайтовое > число возвращает, вызвал два раза rand() и вывел в консоль два > четырехбайтовых инта?
Ну, это он ещё не дописал программу называется.. Я уже говорил, что
число символов, выведенных на консоль, верное и явной дыры (вроде
половины нулей) нет.
Posted via RSDN NNTP Server 2.1 beta
Re[4]: Случайные числа, языки программирования и Интернет.
e-Xecutor wrote: > R>Помните, что я говорил про нежелание отстать в 4 раза? Приведённое Вами > R>не совсем в лоб, мягко скажем. > То есть "не совсем"? > В условии не было про то, что С-шник идиот, так ведь?
Зато сказано, что разгильдяй. Но определять такую функцию в любом
случае неясно зачем.
> По поводу "в 4 раза" — будем считать, что любитель шела читал маны
Ну разве что..
> R>На самом деле у одного из товарищей шанса обломаться практически не > R>было, а другой мог ошибиться — и ошибся. > > У любителя шела то не было?? > Я вот с первого раза написал > printf "%02x%02x",$RANDOM,$RANDOM > и получил полную фигню
Настоящий любитель shell такого не напишет, всё же. Привычки восстанут.
> На самом деле я знаю как дело было. > Они оба выяснили, что под рукой есть > только свежепоставленная винда без доступа к сети > Тогда С-шник в полном пролёте. > Действительно жестокий облом. > Любителю же шелла тоже прийдётся непросто, я так думаю.
Если любитель shell — администратор web-сервера, а любитель C пишет для
микроконтроллеров, то у любителя shell большая фора.
Posted via RSDN NNTP Server 2.1 beta
Re[4]: Случайные числа, языки программирования и Интернет.
Здравствуйте, e-Xecutor, Вы писали:
EX>На самом деле я знаю как дело было. EX>Они оба выяснили, что под рукой есть EX>только свежепоставленная винда без доступа к сети EX>Тогда С-шник в полном пролёте.
А я вот недавно узнал, что Mīćřôšőft Kėyboård Łăyõųt Ćŕéáţóŕ тащит с собой cl.exe 14-й версии
До последнего не верил в пирамиду Лебедева.
Re: Случайные числа, языки программирования и Интернет.
Здравствуйте, e-Xecutor, Вы писали:
EX>Здравствуйте, raskin, Вы писали:
EX>А слабо тоже самое, но в виде батничка для cmd.exe от winxp EX>Без использования сторонних утилит.
EX>P.S. мне не слабо
Echo %RANDOM%%RANDOM% ???
Re[3]: Случайные числа, языки программирования и Интернет.
Здравствуйте, Young, Вы писали:
EX>>А слабо тоже самое, но в виде батничка для cmd.exe от winxp EX>>Без использования сторонних утилит.
Y>Echo %RANDOM%%RANDOM% ???
Там требовались шестнадцатеричные числа.
@Echo Off
SetLocal EnableDelayedExpansion
:: --v-- пробел
Set cmd=SetLocal ^& Set xdigits=0123456789abcdef ^& Echo
Set /a i="%~1"
:again
If %i% NEQ 0 (
Set /a digit="%RANDOM% %% 16"
Set cmd=!cmd!%%xdigits:~!digit!,1%%
Set /a i="i - 1"
Goto :again
)
cmd /c "!cmd!"
До последнего не верил в пирамиду Лебедева.
Re[4]: Случайные числа, языки программирования и Интернет.
Здравствуйте, Roman Odaisky, Вы писали:
RO>Здравствуйте, Young, Вы писали:
EX>>>А слабо тоже самое, но в виде батничка для cmd.exe от winxp EX>>>Без использования сторонних утилит.
Y>>Echo %RANDOM%%RANDOM% ???
Ээээ...там сказанно что требуеться строка из HEX символов....
Кто скажет что 4432776 состоит не из НEX символов.
Вообщем мой код условю задачи удолетворят — он выводит случайную строку из 8 HEX символов.
Здравствуйте, Erop, Вы писали:
E>Так что если ты не сделаешь как-то две копии одной сетевой карточки
Легко и просто! Рукодельная PCI-сетевуха на FPGA (нужны были другие электрические параметры). Чёрт бы её подрал!
Автор прошивки в муках реализовал протокол ethernet, а на уникальную идентификацию его уже не хватило. Да и как её делать — джамперами, что ли? Ну так джамперы все можно выставить в одно и то же положение.
... << RSDN@Home 1.2.0 alpha rev. 655>>
Перекуём баги на фичи!
Re[3]: Случайные числа, языки программирования и Интернет.
Здравствуйте, Young, Вы писали:
Y>Здравствуйте, e-Xecutor, Вы писали:
EX>>Здравствуйте, raskin, Вы писали:
EX>>А слабо тоже самое, но в виде батничка для cmd.exe от winxp EX>>Без использования сторонних утилит.
EX>>P.S. мне не слабо
Y>Echo %RANDOM%%RANDOM% ???
Вообще-то будет от 2-х до 10-ти символов.
Требовалось 8-мь.
Re[4]: Случайные числа, языки программирования и Интернет.
Здравствуйте, Roman Odaisky, Вы писали:
RO>Здравствуйте, Young, Вы писали:
EX>>>А слабо тоже самое, но в виде батничка для cmd.exe от winxp EX>>>Без использования сторонних утилит.
Y>>Echo %RANDOM%%RANDOM% ???
RO>Там требовались шестнадцатеричные числа.
RO>
RO> @Echo Off
RO> SetLocal EnableDelayedExpansion
RO>:: --v-- пробел
RO> Set cmd=SetLocal ^& Set xdigits=0123456789abcdef ^& Echo
RO> Set /a i="%~1"
RO>:again
RO> If %i% NEQ 0 (
RO> Set /a digit="%RANDOM% %% 16"
RO> Set cmd=!cmd!%%xdigits:~!digit!,1%%
RO> Set /a i="i - 1"
RO> Goto :again
RO> )
RO> cmd /c "!cmd!"
RO>
Как-то сложно
@echo off
setlocal ENABLEDELAYEDEXPANSION
set hex=0123456789ABCDEF
for /L %%i in (1,1,8) do (
set /A x="!random!&15"
call :digit !x!
set res=!res!!ret!
)
echo %res%
:digit
set ret=!hex:~%1,1!
exit /b
Re[5]: Случайные числа, языки программирования и Интернет.
Можно и ещё проще, без танцев с передачей/возвратом параметра
@echo off
setlocal enabledelayedexpansion
set dict=0123456789ABCDEF
set v=
for /l %%i in (1,1,8) do call :add
echo %v%
exit /b
:add
set /a n=%random% %% 16
set v=%v%!dict:~%n%,1!
exit /b
Без enabledelayedexpansion тоже можно повыкручиваться
@echo off
set dict=0123456789ABCDEF
set v=
for /l %%i in (1,1,8) do call :add
echo %v%
exit /b
:add
set /a n=%random% %% 16
:: вот такой хитрый способ отложить выполнение
call set v=%%v%%%%dict:~%n%,1%%
exit /b
Сплавив оба подхода, получаем
@echo off
set dict=0123456789ABCDEF
setlocal enabledelayedexpansion
for /l %%i in (1,1,8) do (
set /a n=!random! %% 16
call set v=!v!%%dict:~!n!,1%%
)
echo %v%
exit /b
... << RSDN@Home 1.2.0 alpha rev. 655>>
Перекуём баги на фичи!
Re: Случайные числа, языки программирования и Интернет.
raskin wrote: > Вася и Петя хотели завести по почтовому ящику на бесплатном сервере так, > чтобы имя заведомо было свободно и даже — смерть спаму! — не упоминалось > в Интернет. Вася предложил написать программку, которая напечатает > случайную шестнадцатеричную строку в 8 символов, и взять её за имя. Так > и сделали, каждый на любимом языке — Вася на Си (можно было и на > Паскаль), а Петя на unix shell (хотя мог и на Perl). Вопрос: кто из них > жестоко обломался?
Признаюсь, что я имел в виду.
Мне не удалось написать программы на shell без очевидных сокращений,
результат работы которой, несмотря на использование работы с
псевдослучайными числами, был бы из маленького множества при любом
количестве запусков и хорошо искался бы в Internet (при достаточной
длине). А вот все функции в библиотеке Си необходимо инициализировать,
причём 6b8b4567 вполне неплохо ищется в Интернете.
R>Помните, что я говорил про нежелание отстать в 4 раза? Приведённое Вами R>не совсем в лоб, мягко скажем.
R>На самом деле у одного из товарищей шанса обломаться практически не R>было, а другой мог ошибиться — и ошибся.
имется ввиду RAND_MAX, который в некоторых реализациях равен 32768?
Здравствуйте, Erop, Вы писали:
E>Так что если ты не сделаешь как-то две копии одной сетевой карточки и не будешь химичить со временем, то каждая следующая генерация UID'а сгенерит тебе уникальный ID. В мировых масштабах
Как-то привезли 16 рабочих станций с дешёвыми сетевухами. Так вот, MAC адрес был один и тот же у всех Да и сетевой может на компе элементарно не быть, хоть и редкость такое в наши дни.
Здравствуйте, FirstStep, Вы писали:
FS>Как-то привезли 16 рабочих станций с дешёвыми сетевухами. Так вот, MAC адрес был один и тот же у всех Да и сетевой может на компе элементарно не быть, хоть и редкость такое в наши дни.
А нет по модему?
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском