Как Брюс Шнайер says, «Любой человек может создать шифра, что он сам не может сломаться. Вот почему вы должны равномерно Недоверие любителем криптография, и почему вы должны использовать только опубликованные алгоритмы, которые выдержали широкий криптоанализа. "
В то время как ничто не является 100% -ным нерушимым, Нарушение HTTPS значительно сложнее, чем нарушение защищенной схемы безопасности, сделанной в JavaScript. Учтите это: если вы обслуживаете ваш супер-безопасный JS по ненадежному соединению (HTTP или HTTPS-с-недопустимым сертификатом), что мешает злоумышленнику заменить сломанную версию, которая обойдется без защиты JS? Ничего.
Современные браузеры подходят к большим длинам, чтобы предотвратить прерывание HTTPS (с использованием HSTS и т. Д.); так что значительно безопаснее полагаться на HTTPS (который может обеспечить реальную безопасность при правильном использовании - «просто игнорировать все эти большие красные ошибки» - это один простой способ его разбить), чем на JS-over-HTTP (что только дает ощущение безопасности без фактического шанс быть в безопасности).
Дальнейшее чтение: https://www.nccgroup.trust/us/about-us/newsroom-and-events/blog/2011/august/javascript-cryptography-considered-harmful/
https://security.stackexchange.com/questions/3921/why-do-some-people-really-hate-security-via-client-side?rq=1
https://security.stackexchange.com/questions/8596/https-security-should-password-be-hashed-server-side-or-client-side
Что на стороне клиента? Программа Javascript? Страница ASP.NET? Клиент C#? Пожалуйста, добавьте дополнительную информацию, например, как вы связываетесь с сервером. –
Если HTTPS сломан, то любая реализация JS, которую вы отправляете клиенту, также недостоверна (поскольку ее можно заменить злоумышленником). Просто используйте HTTPS (правильно, ничто из этого «просто игнорируйте БОЛЬШОЙ КРАСНЫЙ ПРЕДУПРЕЖДЕНИЕ») и сделайте с ним. См. это: https://www.nccgroup.trust/us/about-us/newsroom-and-events/blog/2011/august/javascript-cryptography-considered-harmful/ – Piskvor