Здравствуйте, grosborn, Вы писали:
G>Точнее зашифровать хэш пароля. Вам же хэш передать нужно? И в общем случае не использовать md5 хэш, а как минимум SHA512++, хотя рекомендуется что-то посильнее. Ну и хэш вы правильно написали, не должен быть сформирован только из исходного пароля.
Ну... SHA512 симметричный алгоритм шифрования. Т.е. salt на сервере (сайт) и клиенте (браузер пользователя) будет одним и тем же.
Получить salt с клиента по сложности равносильно получить пароль в открытом или хэшированом виде, т.к. хеширование с применением сальта будет происходить на клиенте (JavaScript или Flash-плеер)
Смысла в этом нет.
Другое дело можно применить асимметричное шифрование, когда вместо сальта будет использоваться открытый ключ.
И тут... мы приходим к тому что это уже сделано. C помощью SSL >3.0.
Асимметрично шифровать пароль, чтобы потом его передать через HTTPS где шифрование всего трафика (а не только пароля) работает по тому же принципу, не слишком ли извращенно и параноидально?
Безопасное соединение на то и является безопасным, т.к. HTTPS с применением современных сертификатов безопасности гарантирует с большой достоверностью безопасность передаваемых данных. Шифрование используя TLS (
http://ru.wikipedia.org/wiki/TLS) намного более продумано и проверенно временем чем предложенное симметричное шифрование пароля с сальтом.
Пока это предложение с шифрованием пароля на стороне клиента с помощью симметричной криптографии типа SHA-2 и salt кажется как бы не особо подходящим, особенно в плане безопасности.