Пишу клиент-серв. приложение на Python. Нужно как-то защитить пароль, передаваемый клиентом серверу. Нужно что-то простое в реализации и в то же время достаточное для средней защиты от недоброжелателя.
CRAM-MD5 не спасёт от "man in the middle" - просто перехватится хэш к паролю и потом этот man просто этот же хэш будет подставлять при соединении. Нужен симметричный алгоритм... ну или аутентификация в ssl-канале. Как в канале спасаться от MiM - отдельная тема.
> просто этот же хэш будет подставлять при соединении
Хэш при каждом соединении будет новый, поэтому не получится каждый раз подставлять один и тот же. А так, да, CRAM-MD5 от дурака спасет, но все же использование SSL на порядок лучше будет.
>>Пишу клиент-серв. приложение на Python. >>Нужно как-то защитить пароль
Когда ж вас в вашем ПТУ научат начинать с проектирования протокола и спецификаций, а "не писать кл-серв приложения на Петоне" (несовместимых между собой, добавлю от себя). Глядишь бы, тогда и не возникало вопросов, что "нужно как-то защитить пароль".