Кодирование и декодирование строки в JavaScript

#javascript #decode #encode

#javascript #Декодирование #кодировать

Вопрос:

Допустим, у меня есть строка с именем str , которая равна «Привет, мир!» Есть ли способ выбрать некоторые символы Юникода, такие как "azertyuiopqsdfghjklmwxcvbn1234567890-" , и вернуть закодированную строку, содержащую только выбранные символы?
Это должно возвращать что-то вроде «hvfebi iehfhe» (ну, что-то закодированное и не читаемое человеком, но которое поддается декодированию)?
Спасибо

Комментарии:

1. Вы могли бы использовать реальное шифрование и кодировать результат в base64.

2. О, я забыл добавить, что-то не похожее на base64, что-то, что не популярно и поэтому не поддается декодированию без наличия функции для этого

3. base64 не популярен? Что в мире? not decodable without having the function То же самое относится к любой схеме кодирования. Кроме того, JavaScript имеет эти встроенные функции. Можно ли то же самое сказать о вашей пользовательской схеме кодирования?

4. @Amy он не хочет base64, потому что он популярен. Он должен заниматься шифрованием, а не кодированием.

Ответ №1:

Не существует такой вещи, как функция, для кодирования которой вы настраиваете произвольный набор символов, если только вы не найдете библиотеку, которая это делает, или не реализуете ее самостоятельно.

Но вы можете использовать кодировку base64, в которой используются «A-Z», «a-z», «0-9″, » «, «/» и символы «=» для кодирования строки. Встроенные функции браузера находятся в окне: btoa() для завершения и atob () для декодирования.

Редактировать после ваших комментариев: Любая функция, которую вы создаете для решения этой проблемы, в любом случае будет декодируемой при анализе кода, поэтому нет смысла скрывать это. Если вы не хотите быть просто base64, вы можете создать функцию, которая кодирует ее несколько раз.

Комментарии:

1. Мне нужно что-то, что никто не может декодировать, за исключением случаев, когда у них есть набор символов Unicode "azertyuiopqsdfghjklmwxcvbn1234567890-"

2. Вы не можете создать безопасный алгоритм подстановки во внешнем интерфейсе. Любой может отладить ваш код и получить вашу строку.