Как зашифровать строку в JavaScript?
Здравствуйте! Сегодня я хочу показать Вам, как можно зашифровать а затем расшифровать строку в JavaScript. Сразу оговорюсь, что в примере будет показано самое примитивное шифрование, которое ни в коем случае не должно использоваться при работе с конфиденциальными данными. Однако такой вид шифрования может пригодиться в простых случаях, если Вы захотите, что либо скрыть от любопытных глаз.
Итак, представим, что у нас есть некая строка текста, которую мы хотим зашифровать, вот как мы можем это реализовать:
let str = 'Это некоторая строка, которую мы хотим спрятать';
// преобразуем строку в массив символов, вызывая метод split и передавая ему пустую строку
// обязательно надо передать пустую строку
let strArray = str.split('')
// проходимся по каждому элементу массива, преобразуем символ в его числовой код
// и выполняем простейшее XOR шифрование - вместо единицы может быть любое другое число
// далее полученный массив объединяем в строку
let crypted = str.map(value => value.charCodeAt(0) ^ 1).join('')
// выводим зашифрованную строку в консоль
console.log(crypted)
// теперь обратно расшифруем
let text = crypted
.split('') // делим строку на массив символов
.map(value => value.charCodeAt(0) ^ 1) // XOR преобразование числа обратно в исходное значение, как видите опять 1 - это наш ключ шифрования
.map(value => String.fromCharCode(value)) // каждое число в массиве преобразуется в соответствующий символ
.join('') // преобразуем массив в строку
Таким образом, вот так просто можно зашифровать/расшифровать строку в JavaScript с помощью простого XOR оператора, единственное , что необходимо учесть - это то, что правый операнд XOR, т.е. число, которым преобразуется кодовый символ, должно быть одним и тем же - фактический - это ваш ключ. Данный ключ Вы можете выбрать любой, который считаете нужным. Также данный ключ может высчитывать на основе каких либо пользовательских данных, например, разрешение монитора ПК или еще чего либо. Но, как бы там ни было, напоминаю еще раз, что, что это небезопасное шифрование (!) поэтому не используйте его для шифрования/дешифровки каких либо важных пользовательских данных.
-
- Михаил Русаков
Комментарии (0):
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.