Как зашифровать / расшифровать параметры URL в javascript?

прежде чем кто-нибудь прыгнет и скажет: "о!! это плохая идея", я знаю это.

Я хочу, чтобы ключ и значение в строке запроса не были легко видны конечному пользователю. У меня есть что-то вроде этого google.com/?category=textile&user=user1 Мне нужно сделать его неразборчивым, как это:google.com/?kasjdhfkashasdfsf32423

есть ли способ достичь этого в JavaScript. Я уже видел это

Я уже видел этой и этой.

но я не думайте, что кодирование решит проблему. Кроме того, этот код полностью находится на стороне клиента. Я знаю, что это не безопасно, но мне просто нужна эта наивная, слабая защита. Пожалуйста помочь.

редактировать

Я прошу прощения, если мой вопрос не был ясен ранее.

URL-адресом google.com/?category=textile&user=user1 передается из другого приложения.

значения, переданные в строке запроса, напрямую управляют отображаемым пользователем. Как и любой, у кого нет технических знание может легко изменить значение и просмотреть данные, соответствующие другой категории или пользователю. Мне нужно сделать это непонятным, чтобы это не было очевидно. Если пользователь является технарем и выясняет используемое шифрование, то это нормально. Мне нужно решение stop-gap, пока у нас не будет лучшей архитектуры

2 ответов


Если вы не ищете серьезную сильную криптографию, вы можете использовать ROT13:

http://en.wikipedia.org/wiki/ROT13

этого достаточно для слегка запутанных ключей / значений в ваших URL-адресах.


вы можете использовать base64. Javascript имеет собственные функции для этого:

alert(btoa("category=textile&user=user1")); // ==> Y2F0ZWdvcnk9dGV4dGlsZSZ1c2VyPXVzZXIx

и обратить его :

alert(atob("Y2F0ZWdvcnk9dGV4dGlsZSZ1c2VyPXVzZXIx")); // ==> category=textile&user=user1

будьте осторожны, чтобы прочитать документ, если у вас есть строки unicode, это немного отличается:https://developer.mozilla.org/en-US/docs/Web/API/Window.btoa