Я использую Jquery SHA512.js для отправки шифрования и отправки имени пользователя и пароля на сервер. На сервере я делаю следующее, чтобы создать ХЭШ, хранящийся в БД:
$dbhash = = хеш('sha256',(хеш('sha512',$user). хэш('sha256',$extremesalt)));
Это все работает нормально.
Мой вопрос: какое значение имеет соль? В тот момент, когда соль применяется к паролю, пароль уже находится на сервере и не передается через Интернет. Также соль хранится рядом с хешем пароля.
Поэтому кажется, что кому-то нужно было бы получить мою таблицу с хэшем, и если бы они это сделали, они также могли бы получить соль и остальную часть моего кода и делать то, что они хотели, с моим сайтом в целом.
Я вижу, что полезно применять соль, и я сделаю это, но, поскольку это происходит только на сервере, а не из браузера на сервер, я сомневаюсь в ее ценности. Я что-то упускаю?
Еще один вопрос - можно ли применить соль из браузера на сервер. Я предполагаю, что нет, или, по крайней мере, если бы вы это сделали, это было бы видно, если бы кто-то проверил источник (например: по моей причине, видимой в jquery). Таким образом, никакой реальной ценности.
спасибо