diff --git a/curriculum/challenges/russian/06-information-security-and-quality-assurance/information-security-with-helmetjs/understand-bcrypt-hashes.russian.md b/curriculum/challenges/russian/06-information-security-and-quality-assurance/information-security-with-helmetjs/understand-bcrypt-hashes.russian.md index a9eb9b9bd9..9b491cbb5d 100644 --- a/curriculum/challenges/russian/06-information-security-and-quality-assurance/information-security-with-helmetjs/understand-bcrypt-hashes.russian.md +++ b/curriculum/challenges/russian/06-information-security-and-quality-assurance/information-security-with-helmetjs/understand-bcrypt-hashes.russian.md @@ -8,7 +8,7 @@ localeTitle: Понимание ## Description
-Напомним, что этот проект строится на следующем стартовом проекте Glitch или клонируется из GitHub . Хэши BCrypt очень надежны. Хэш - это в основном отпечаток исходных данных - всегда уникальный. Это достигается путем подачи исходных данных в алгоритм и возврата результата фиксированной длины. Чтобы еще больше усложнить этот процесс и сделать его более безопасным, вы также можете солить свой хэш. Соление вашего хеша включает в себя добавление случайных данных в исходные данные до процесса хэширования, что еще более усложняет процесс хэширования. Хэши BCrypt всегда будут выглядеть как $2a$13$ZyprE5MRw2Q3WpNOGZWGbeG7ADUre1Q8QO.uUUtcbqloU0yvzavOm который имеет структуру. Первый маленький бит данных $2a определяет, какой хэш-алгоритм использовался. Следующая часть $13 определяет стоимость . Стоимость - это то, сколько энергии требуется для вычисления хэша. Он находится в логарифмическом масштабе 2 ^ стоимости и определяет, сколько раз данные передаются через алгоритм хеширования. Например, по цене 10 вы можете хэш-код на 10 паролей на среднем компьютере, однако по цене 15 требуется 3 секунды за хэш ... и взять его дальше, по цене 31 требуется несколько дней для завершения хэша. В настоящее время стоимость 12 считается очень безопасной. Последняя часть вашего хэша $ZyprE5MRw2Q3WpNOGZWGbeG7ADUre1Q8QO.uUUtcbqloU0yvzavOm , выглядит как 1 большая строка чисел, периодов и букв, но на самом деле это две отдельные части информации. Первые 22 символа - соль в обычном тексте, а остальные - хешированный пароль!
Чтобы начать использовать BCrypt, добавьте его как зависимость в свой проект и потребуйте его как «bcrypt» на вашем сервере. Представьте свою страницу, когда вы думаете, что у вас все в порядке. +Напомним, что этот проект строится на следующем стартовом проекте Glitch или клонируется из GitHub . Хэши BCrypt очень надежны. Хэш - это в основном отпечаток исходных данных - всегда уникальный. Это достигается путем подачи исходных данных в алгоритм и возврата результата фиксированной длины. Чтобы еще больше усложнить этот процесс и сделать его более безопасным, вы также можете солить свой хэш. Соление вашего хэша включает в себя добавление случайных данных в исходные данные до процесса хэширования, что еще более усложняет процесс хэширования. Хэши BCrypt всегда будут выглядеть как $2a$13$ZyprE5MRw2Q3WpNOGZWGbeG7ADUre1Q8QO.uUUtcbqloU0yvzavOm который имеет структуру. Первый маленький бит данных $2a определяет, какой хэш-алгоритм использовался. Следующая часть $13 определяет стоимость . Стоимость - это то, сколько энергии требуется для вычисления хэша. Он находится в логарифмическом масштабе 2^стоимости и определяет, сколько раз данные передаются через алгоритм хэширования. Например, по цене 10 вы можете хэш-код на 10 паролей на среднем компьютере, однако по цене 15 требуется 3 секунды за хэш ... и взять его дальше, по цене 31 требуется несколько дней для завершения хэша. В настоящее время стоимость 12 считается очень безопасной. Последняя часть вашего хэша $ZyprE5MRw2Q3WpNOGZWGbeG7ADUre1Q8QO.uUUtcbqloU0yvzavOm , выглядит как 1 большая строка чисел, периодов и букв, но на самом деле это две отдельные части информации. Первые 22 символа - соль в обычном тексте, а остальные - хэшированный пароль!
Чтобы начать использовать BCrypt, добавьте его как зависимость в свой проект и потребуйте его как «bcrypt» на вашем сервере. Представьте свою страницу, когда вы думаете, что у вас все в порядке.
## Instructions @@ -22,8 +22,8 @@ Submit your page when you think you've got it right. ```yml tests: - - text: BCyrpt is a dependency - testString: getUserInput => $.get(getUserInput('url')+ '/_api/package.json') .then(data => { var packJson = JSON.parse(data); assert.property(packJson.dependencies, 'bcrypt', 'Your project should list "bcrypt" as a dependency'); }, xhr => { throw new Error(xhr.statusText); }) + - text: BCrypt is a dependency + testString: getUserInput => $.get(getUserInput('url')+ '/_api/package.json').then(data => { var packJson = JSON.parse(data); assert.property(packJson.dependencies, 'bcrypt', 'Your project should list "bcrypt" as a dependency'); }, xhr => { throw new Error(xhr.statusText); }) - text: BCrypt has been properly required testString: getUserInput => $.get(getUserInput('url')+ '/_api/server.js').then(data => {assert.match(data, /bcrypt.*=.*require.*('|")bcrypt('|")/gi, 'You should correctly require and instantiate socket.io as io.');}, xhr => { throw new Error(xhr.statusText); })