javascript
May 16, 2023

Як створити хеш MD5 на JavaScript

Використання MD5 з JavaScript

JavaScript - це мова програмування, яка використовується для розробки веб-сайтів і часто використовується з HTML і CSS. JavaScript зазвичай використовується для додавання на сайт динамічного елемента, оскільки він може використовувати змінні та більш просунуті функції, ніж HTML і CSS.

JavaScript розміщується в самому коді або в зовнішньому файлі. Для додавання коду JavaScript на сторінку можна використовувати теги:

<script></script>

Які рекомендується, але не обов'язково, поміщати всередині контейнера:

<head>

Має такий вигляд:

<script>
document.getElementById("mydiv").innerHTML = "JavaScript!";
</script”>

MD5 - це криптографічний алгоритм, який використовується для зберігання паролів у базі даних.

Приклад:

foobar ⇒ 3858f62230ac3c915f300c664312c63f

Використання MD5 для зберігання паролів уже небезпечно, але він, як і раніше, використовується для інших додатків, і тому він може знадобитися вам у вашому коді JavaScript.

Найкращий спосіб прикрутити генерацію хеша MD5 у JavaScript - використовувати blueimp-md5. Бібліотека blueimp-md5 сумісна з більшістю проєктів. Ви можете використовувати її з серверними середовищами, такими як Node.js, завантажувачами модулів, такими як RequireJS, або безпосередньо з браузерами.

Як згенерувати хеш MD5 за допомогою JavaScript

Найпростіший спосіб для невеликого проєкту - завантажити файл blueimp-md5 з репозиторію GitHub, але для встановлення бібліотеки на сервер також можна використовувати NodeJS. Розглянемо обидва способи.

Встановлення на стороні клієнта

Для невеликого проєкту, можете просто додати мінімізовану версію бібліотеки у свій проєкт:

Відкрийте офіційний репозитирій проєкту і в папці "js", знайдіть файл md5.min.js.

Завантажте його на свій комп'ютер і збережіть у своєму проєкті.

Ви також можете відобразити RAW-версію файлу і скопіювати та вставити код у свій проект.

Після цього можна імпортувати і використовувати md5.min.js у своєму HTML, додавши:

<script src="js/md5.min.js"></script>

Для прикладу, я створив невеликий проект. HTML-код і вміст папки мають такий вигляд:

Як бачите, після імпорту бібліотеки користуватися нею досить просто.

Просто використовуйте функцію md5(), як щось нативне:

var hash = md5("value")

Ось HTML-код:

<html>
<head>
    <title>Tests InfosecScout</title>
</head>
<body>
    <script src="md5.min.js"></script>
    <script>
        var hash = md5("value")
        alert(hash)
    </script>
</body>
</html>

Тепер, під час відкриття HTML-сторінки у своєму браузері, ви побачите спливаюче вікно зі значенням MD5:

Установка на стороне сервера

Если вы используете NodeJS, вы, вероятно, уже знаете, как это сделать, но вот краткий обзор основных шагов:

Чтобы использовать серверную библиотеку MD5 для NodeJS, сначала установите blueimp-md5:

npm install blueimp-md5

Затем создайте файл server.js со следующим содержимым:

require('http')
    .createServer(function (req, res) {
        // Модуль md5 експортує функцію md5():
        var md5 = require('./md5'),
            // Використовуйте наступну версію, якщо ви встановили пакунок за допомогою npm:
            // var md5 = require("blueimp-md5"),
            url = require('url'),
            query = url.parse(req.url).query
        res.writeHead(200, {
            'Content-Type': 'text/plain'
        }) 
        // Обчислити і вивести MD5 хеш запиту url:
        res.end(md5(query))
    })
    .listen(8080, 'localhost')
console.log('Server running at http://localhost:8080/')

Запустіть додаток за допомогою:

node server.js

Проведіть швидкий тест, ввівши в браузері адресу:

http://localhost:8080

Ви повинні побачити виведення MD5.

Значення хеша MD5 змінюватиметься щоразу під час оновлення сторінки. Тому відкриття наступної сторінки призведе до створення ще одного хешу MD5.

Думаю, ви зрозуміли.

Заключення

Тепер ви знаєте, як генерувати хеші MD5 у JavaScript. Сподіваюся, стаття була корисною.

Це переклад статті з сайту