aboutsummaryrefslogtreecommitdiff
path: root/files/ru/orphaned/web/api
diff options
context:
space:
mode:
Diffstat (limited to 'files/ru/orphaned/web/api')
-rw-r--r--files/ru/orphaned/web/api/web_crypto_api/checking_authenticity_with_password/index.html33
1 files changed, 33 insertions, 0 deletions
diff --git a/files/ru/orphaned/web/api/web_crypto_api/checking_authenticity_with_password/index.html b/files/ru/orphaned/web/api/web_crypto_api/checking_authenticity_with_password/index.html
new file mode 100644
index 0000000000..ea8ec86586
--- /dev/null
+++ b/files/ru/orphaned/web/api/web_crypto_api/checking_authenticity_with_password/index.html
@@ -0,0 +1,33 @@
+---
+title: Проверка подлинности данных с паролем
+slug: Web/API/Web_Crypto_API/Checking_authenticity_with_password
+tags:
+ - HMAC
+ - Web Crypto
+translation_of: Web/API/Web_Crypto_API/Checking_authenticity_with_password
+---
+<p>{{APIRef("Web Crypto API")}}{{draft}}</p>
+
+<p>Проверка подлинности данных может быть выполнена с помощью Web Crypto API. В этой статье мы покажем как создавать и управлять подписями, используя хэш-функцию и пароль.</p>
+
+<p>HMAC алгоритм генерирует хэш на основе передаваемых ключа и данных, которые нужно подписать. Позже, идентичный хэш может быть вычислен заного любым пользователем, у которого имеется ключ. Необходимость ключа позволяет хранить данные и хэш вместе: злоумышленник не сможет создать хэш для измененных данных, не имея ключа.</p>
+
+<p>Стоит заметить, что алгоритм никак не связан с какой-либо другой информацией о владельце: знание ключа – необходимое и достаточное условие для изменения данных.</p>
+
+<p>Предположим, данные хранятся на компьютере. Чтобы получить доступ к записи или чтению, мы будем использовать <code>localforage.js</code> – библиотека-обертка над хранилищами браузера. Эта библиотека необязательна и используется в качестве примера для удобства, чтобы сосредоточиться на криптографии.</p>
+
+<p>Данные, доступ к которым мы хотим получить, имеют следующую форму:</p>
+
+<p> </p>
+
+<p>где <code>data</code><em> </em>– данные для подписания и <code>signature</code> – подпись, информация для проверки подлинности.</p>
+
+<p>Криптографические ключи невозможно выучить наизусть, а обычные пароли недостаточно безопасны. Чтобы решить эту проблему, криптографы создали алгоритмы для создания криптографических ключей из паролей. Знание пароля позволяет воссоздать ключ и использовать его.</p>
+
+<p>Запрашиваем пароль у пользователя для генерации ключа:</p>
+
+<pre> </pre>
+
+<p>С этим ключом мы можем вычислить хэш данных.</p>
+
+<pre> </pre>