Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.11.07;
Скачать: CL | DM;

Вниз

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

 
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;
Скачать: CL | DM;

Наверх




Память: 0.52 MB
Время: 0.009 c
15-1280262611
Юрий
2010-07-28 00:30
2010.11.07
С днем рождения ! 28 июля 2010 среда


2-1281708934
Михаил
2010-08-13 18:15
2010.11.07
почта


6-1228900755
WeTeR
2008-12-10 12:19
2010.11.07
отправить изображение по сети


15-1280344780
Kolan
2010-07-28 23:19
2010.11.07
Как проверить алгоритм


15-1280139716
Alekcey
2010-07-26 14:21
2010.11.07
MAC по IP