Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2010.11.07;
Скачать: [xml.tar.bz2];

Вниз

Как проверить алгоритм   Найти похожие ветки 

 
Kolan ©   (2010-07-28 23:19) [0]

Здравствуйте!

Я разрабатываю один не сложный, но запутанный алгоритм авторизации на сайте. Там несколько куки, всякие коды на почту могут приходит и т. д. Разрабатываю в виде блок схемы и код написать не могу.

Вопрос: как можно полностью проверить алгоритм? То есть я хочу быть на 100% уверенным, что в алгоритме нет ошибки. Может есть какие-нибудь методы?


 
Юрий Зотов ©   (2010-07-29 00:01) [1]


> Kolan ©   (28.07.10 23:19)  

Насколько помню, то ли Дейкстра, то ли другой классик программизьма  лет эдак 60-70 назад математически строго доказал следующую теорему: "Не существует проверочного алгоритма, гарантирующего правильность другого алгоритма".

В чем, собственно, и есть вся прелесть этой профессии. Это уже от себя.


 
Kolan ©   (2010-07-29 00:39) [2]

Хотя бы приблизиться.

--
Прочесть про доказательство классика было бы интересно.


 
Германн ©   (2010-07-29 01:12) [3]


> Хотя бы приблизиться.
>

Тогда надо написать "интерпретатор блок-схем". И не пожалеть времени на тщательную отладку сего инструмента!
)))


 
antonn ©   (2010-07-29 01:57) [4]

выложить блоксхему на сайт веб-программистов


 
Германн ©   (2010-07-29 02:05) [5]


> antonn ©   (29.07.10 01:57) [4]
>
> выложить блоксхему на сайт веб-программистов
>

А на том сайте есть конференция "Начинающим"?
)))


 
Германн ©   (2010-07-29 02:17) [6]


> Разрабатываю в виде блок схемы и код написать не могу.
>

Выкладывай блок-схему сюда. Наша "помойка" славится во "всемирной помойке" именно тем, что тут всегда можно рассчитывать на то, что кто-нибудь найдет время, возможности, знания, опыт и т.д., чтобы что-то подсказать.


 
partizan   (2010-07-29 05:47) [7]

А зачем "не сложный, но запутанный алгоритм авторизации на сайте", если есть не сложный и не запутанный:

1. Спросил логин/пароль
2. Проверил
3. Если Правильно - авторизирован, иначе - сообщение об ошибке


 
И. Павел ©   (2010-07-29 08:37) [8]

Основной критерий истинности - практика. Так что придется все-таки реализовать :)


 
Petr V. Abramov ©   (2010-07-29 09:34) [9]


> Kolan ©   (29.07.10 00:39) [2]

см. теорема Райса


 
Kolan ©   (2010-07-29 09:39) [10]

Алгоритм секретный, поэтому выложить не могу. Павел, благодарю за ссылку.


 
Kerk ©   (2010-07-29 09:40) [11]

Может, юнит-тесты тут в тему будут?


 
И. Павел ©   (2010-07-29 09:44) [12]

> Алгоритм секретный
При разработке таких вещей нужно всегда считать, что алгоритм не секретный, а доступен взломщику. А секретной должна быть информация, необходимая для авторизации.

PS: не того поблагодарили. Ссылку вам написал Petr V. Abramov ©.


 
Kolan ©   (2010-07-29 10:14) [13]

Алгоритм секретный с коммерческой точки зрения. Да, сорри, Пётр.


 
Омлет ©   (2010-07-29 10:18) [14]

Проверить можно на бумажке. Расписать все возможные варианты развития событий.


 
12 ©   (2010-07-29 10:32) [15]

а чего хоть делает, этот секретный насмерть алгоритм?


 
Kolan ©   (2010-07-29 11:33) [16]

Может, юнит-тесты тут в тему будут?

Kerk, а как их без кода делать?


 
Kerk ©   (2010-07-29 11:36) [17]

Никак


 
Омлет ©   (2010-07-29 12:37) [18]

Тесты можно написать до написания кода.


 
Думкин ©   (2010-07-29 12:38) [19]


> Омлет ©   (29.07.10 12:37) [18]
>
> Тесты можно написать до написания кода.

А в ряде религий - только так и нужно.


 
Kerk ©   (2010-07-29 12:47) [20]


> Омлет ©   (29.07.10 12:37) [18]
>
> Тесты можно написать до написания кода.

Но после написания тестов все равно придется писать код :)


 
Медвежонок Пятачок ©   (2010-07-29 13:55) [21]

тесты тестят реализацию алгоритмов.
тесты не могут тестить сами алгоритмы.
ибо это всего лишь математическая абстракция.

например алгоритм может быть уязвим, а его практическая реализация - нет.
и наоборот тоже может быть.


 
Медвежонок Пятачок ©   (2010-07-29 13:58) [22]

отсюда кстати следует, что протестированный алгоритм, давший положительный ответ (что он неуязвимый) еще ничего не гарантирует.
это всего лишь знак, что можно приступать к реализации.

после чего тестить уже реализацию, так как она может быть уязвима.


 
Омлет ©   (2010-07-29 14:23) [23]

Для проектирования можно использовать UML, чтобы проще был переход к реализации объектной модели.



Страницы: 1 вся ветка

Форум: "Прочее";
Текущий архив: 2010.11.07;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.008 c
6-1228900755
WeTeR
2008-12-10 12:19
2010.11.07
отправить изображение по сети


15-1279704739
12
2010-07-21 13:32
2010.11.07
О танках мнение.


2-1281959405
Slay64
2010-08-16 15:50
2010.11.07
Этикеточный принтер


15-1280211662
Jeer
2010-07-27 10:21
2010.11.07
Новое -хорошо забытое старое.


2-1281765808
Fr
2010-08-14 10:03
2010.11.07
Ping хоста





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский