|
Модераторы: Partizan, gambit |
|
PsiMagistr |
|
|||
Опытный Профиль Группа: Участник Сообщений: 479 Регистрация: 31.12.2009 Репутация: нет Всего: 1 |
Ребята,
Как правильно рассчитать время между кликами мыши в миллисекундах в C#? Если набегают секунды, они должны переводиться в миллисекунды. Это сообщение отредактировал(а) PsiMagistr - 3.5.2020, 12:33 -------------------- "Арфы нет? Возьмите бубен! Ребята, будем жить!" (с) "В бой идут одни старики" --- "ИЕ" - один из самых сумасшедших браузеров в нашей галактике. |
|||
|
||||
THandle |
|
|||
Хранитель Клуба Награды: 1 Профиль Группа: Админ Сообщений: 3639 Регистрация: 31.7.2007 Где: Moscow, Dubai Репутация: 1 Всего: 372 |
Привет.
Ну смотри, у тебя есть какая-то переменная, допустим previousDate типа DateTime, в ней ты хранишь время предыдущего клика. Тогда в обработчике клика можно написать что-то вроде:
Соответственно разница у тебя будет храниться в переменной difference типа TimeSpan. Чтобы выразить эту разницу в миллисекундах, тебе нужно свойство difference.TotalMilliseconds. Думаю, как-то так) |
|||
|
||||
PsiMagistr |
|
||||||
Опытный Профиль Группа: Участник Сообщений: 479 Регистрация: 31.12.2009 Репутация: нет Всего: 1 |
Спасибо большое за помощь! При попытке вывести это тотальные миллисекунды в строку получаю нечто вроде: 544,2344. Как мне это трактовать? Он до деститысячных миллисекунды считает? Вот это точность. Вот код. flag - это просто булевское свойство.
Это сообщение отредактировал(а) PsiMagistr - 4.5.2020, 09:09 -------------------- "Арфы нет? Возьмите бубен! Ребята, будем жить!" (с) "В бой идут одни старики" --- "ИЕ" - один из самых сумасшедших браузеров в нашей галактике. |
||||||
|
|||||||
THandle |
|
|||
Хранитель Клуба Награды: 1 Профиль Группа: Админ Сообщений: 3639 Регистрация: 31.7.2007 Где: Moscow, Dubai Репутация: 1 Всего: 372 |
Да, все так Ну а так, всегда можно округлить или отбросить дробную часть, если она не нужна. |
|||
|
||||
PsiMagistr |
|
||||
Опытный Профиль Группа: Участник Сообщений: 479 Регистрация: 31.12.2009 Репутация: нет Всего: 1 |
Аха, спасибо большое. Пишу одноразовый шифроблокнот. Для генерации ключей понадобились случайные числа. Не какие-нибудь псевдослучайные, а истинно случайные. Что делать? Раскопал RNGCryptoServiceProvider и создал с его помощью генератор криптографически случайных. Этого показалось мало, сделал ручной кликабельный генератор - фиксируются координаты клика мыши, время между двумя кликами и на основе группы кликов создаются разный начальный seed для псевдогенератора Random. Каждый новый щелчок - новый seed, новая группа чисел. Пойдет такое? Продолжаем извлекать хаос из детерминированного источника... ))) -------------------- "Арфы нет? Возьмите бубен! Ребята, будем жить!" (с) "В бой идут одни старики" --- "ИЕ" - один из самых сумасшедших браузеров в нашей галактике. |
||||
|
|||||
THandle |
|
|||
Хранитель Клуба Награды: 1 Профиль Группа: Админ Сообщений: 3639 Регистрация: 31.7.2007 Где: Moscow, Dubai Репутация: 1 Всего: 372 |
Честно говоря, мне кажется, это какой-то довольно странный способ генерации случайных чисел)
На мой взгляд того же RNGCryptoServiceProvider вполне хватило бы) Или это просто желание попробовать разные ручные варианты? Ну все равно вся эта история по сути псевдослучайна, просто у тебя в качестве "шума" используются координаты и время клика. |
|||
|
||||
PsiMagistr |
|
||||||
Опытный Профиль Группа: Участник Сообщений: 479 Регистрация: 31.12.2009 Репутация: нет Всего: 1 |
Может быть и странный. Вот он. х, у - координаты указателя. d1, d2 - засекатели времени. flag - булева переменная.
Добавлено через 2 минуты и 51 секунду А это случайное число от мин до макс через RNGCryptoServiceProvider.
Добавлено через 6 минут Шут с этой истинной случайностью, а насколько это криптостойко? Оба способа. Как Вам кажется? -------------------- "Арфы нет? Возьмите бубен! Ребята, будем жить!" (с) "В бой идут одни старики" --- "ИЕ" - один из самых сумасшедших браузеров в нашей галактике. |
||||||
|
|||||||
THandle |
|
|||
Хранитель Клуба Награды: 1 Профиль Группа: Админ Сообщений: 3639 Регистрация: 31.7.2007 Где: Moscow, Dubai Репутация: 1 Всего: 372 |
На мой взгляд, оба варианта одинаковы в плане криптостойкости) в качестве seedа используется же конструкция одного и того же типа, просто полученная немного разными псевдослучайными путями.
Вопрос в том, какой результат нужно получить. Я придерживаюсь того, что в подавляющем большинстве случаев не стоит придумывать велосипед, а лучше использовать готовые решения, в том числе и в криптографии. Если интересна криптография, я бы наверное посоветовал пройти вот этот вот курс. |
|||
|
||||
PsiMagistr |
|
|||
Опытный Профиль Группа: Участник Сообщений: 479 Регистрация: 31.12.2009 Репутация: нет Всего: 1 |
Доброго времени суток. Спасибо огромное! Нужна либо истинно случайная последовательность, либо на худой конец криптостойкая. Без этого одноразовый блокнот теряет свой смысл... И из невзламываемого становится взламываемым. Я просто сторонним библиотекам не особо доверяю, может и зря. Кроме того хочется и самому попробовать... А вариант с шумом от мышиного х-у не очень? -------------------- "Арфы нет? Возьмите бубен! Ребята, будем жить!" (с) "В бой идут одни старики" --- "ИЕ" - один из самых сумасшедших браузеров в нашей галактике. |
|||
|
||||
THandle |
|
|||
Хранитель Клуба Награды: 1 Профиль Группа: Админ Сообщений: 3639 Регистрация: 31.7.2007 Где: Moscow, Dubai Репутация: 1 Всего: 372 |
||||
|
||||
PsiMagistr |
|
|||
Опытный Профиль Группа: Участник Сообщений: 479 Регистрация: 31.12.2009 Репутация: нет Всего: 1 |
Я вшил оба способа генерирования. Плюс хочу шифротаблицы читать из текстовых файлов. Я так понимаю даже криптостойкий генератор требованию истинной случайности не отвечает? Истинная это только на аппаратном уровне решается, да? Типа счетчика Гейгеоа, шумовых замеров, или там датчиков атмосферного давления? Или я не прав? -------------------- "Арфы нет? Возьмите бубен! Ребята, будем жить!" (с) "В бой идут одни старики" --- "ИЕ" - один из самых сумасшедших браузеров в нашей галактике. |
|||
|
||||
THandle |
|
|||
Хранитель Клуба Награды: 1 Профиль Группа: Админ Сообщений: 3639 Регистрация: 31.7.2007 Где: Moscow, Dubai Репутация: 1 Всего: 372 |
Ну истинная случайность может порождаться только некими квантовыми процессами, на сколько я помню.
Да и не думаю что для подобного рода задач нужна "истинная" случайность. Вполне хватит случайности на основе разных составляющих факторов. Хочется мышку и время - пусть так) Как интересно тема перешла из разницы между датами в дискуссию о случайностях) Жаль, что на Винграде осталось так мало живых участников( PsiMagistr, успехов в реализации!) |
|||
|
||||
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |