Rajini.Y Ответов: 3

Шифрование и расшифровка строки в javascript


Привет..

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

3 Ответов

Рейтинг:
24

Christian Graus

Почему каждый способ программирования состоит в том, чтобы попросить "образцы проектов" для копирования ? Какой в этом смысл ? Если вы делаете это на клиенте, то клиент имеет исходный код и может пройти через него, по крайней мере, в Chrome. Таким образом, любой может видеть строки, которые вы шифруете, и то, как они шифруются и расшифровываются. Это пустая трата времени.


Menon Santosh

мой +5

Рейтинг:
0

Qyther

Чтобы сделать такую вещь, вы должны сделать что-то очень простое, это всего лишь 7 строк.

var chars = {'a':'b','b':'c','c':'a'};
var enc;
var str = "back at it again with the bois!";
window.onload = function() {
enc = str.replace(/[abc]/g, m => chars[m]);
alert(enc);
};

это приведет к тому, что "cbak bt it bgbin с cois!"


CHill60

Смотрите комментарии и решения выше - нет никакого смысла, так как клиент сможет увидеть, как работает шифрование!

Richard Deeming

Даже не имея возможности увидеть и отладить исходный код, этот простой вариант Цезарь-сдвига будет взломан в течение нескольких секунд.

Опубликованные комментарии и решения ПЯТЬ ЛЕТ НАЗАД уже объясните, почему это плохая идея.

Рейтинг:
0

sisir patro

Привет,

Вы можете попробовать вот так.

String.prototype.toEncodedString = function(){var ostr=this.toString().replace(/\s+/g,'');if(ostr.length<8){alert("Password must be at least 8 characters long with no spaces.");return null;};var x,nstr='',len=ostr.length;for(x=0;x<len;++x){nstr+=(255-ostr.charCodeAt(x)).toString(36).toUpperCase().toPaddedString(2,'0');};return nstr;};
String.prototype.fromEncodedString = function(){var ostr=this.toString();var x,nstr='',len=ostr.length;for(x=0;x<len;x+=2){nstr+=String.fromCharCode(255-parseInt(ostr.substr(x,2),36));};return nstr;};
Number.prototype.toPaddedString = function(len,pad){len=(len)?Number(len):2;if(isNaN(len)){alert("Padded String 'length' argument is not numeric.");return null;};var dflt=(isNaN(this.toString()))?" ":"0";pad=(pad)?pad.toString().substr(0,1):dflt;var str=this.toString();if(dflt=="0"){while(str.length<len)str=pad+str;};else{while(str.length<len)str+=pad;};return str;};
String.prototype.toPaddedString = Number.prototype.toPaddedString;
//
var str = window.prompt('Enter string to encode:','');
if (str = str.toEncodedString())
{
    str = window.prompt('Enter encoded string:',str);
    str = str.fromEncodedString();
    alert(str);
}
else
{
    alert('Encoding cancelled.');
}


Для справки просмотрите эту ссылку.
Зашифруйте и расшифруйте строку

Кодирование и расшифровка

Спасибо


Christian Graus

И какова же его ценность ? Разве я не могу установить точку останова, чтобы пройти через этот код и посмотреть, что кодируется и декодируется ? Разве я не могу прочитать код и точно знать, как декодировать строку ?

[no name]

- Да, можешь...
Поместите отладчик в любую точку кода и получите свой контроль над этим местом для отладки.

fjdiewornncalwe

Точка зрения Кристиана заключается в том, что если клиент может пройти через код в отладчике, и целью этого кода является шифрование, вся цель шифрования становится бессмысленной.

[no name]

Да, я понимаю, в чем дело. Это неприемлемо. Поскольку в javascript есть проблемы безопасности, то совсем не рекомендуется использовать кодировку и декрипцию с помощью javascript. На сервере, шифрование и декодирование несколько предпочтительнее.