Речь идет не о безопасности. Это также не сделать его трудно сломать. Я' Я ищу простой алгоритм для изменения строки (URL) таким образом, чтобы она не напоминала оригинал. Шифрование будет выполняться с использованием JavaScript. Затем я хочу передать зашифрованную строку в функцию PHP, чтобы изменить ее на исходную. Оба конца могут иметь общий секретный ключ, или преобразования могут быть без ключа и основываться только на логике.
Идеальное решение
Редактировать: последнее требование было добавлено после ответа shamittomar .
Если это то, что вы хотите, вы можете Base64 кодировать и декодировать это.
[РЕДАКТИРОВАТЬ]: После уточнения OP:
Поскольку вам не нужны широко используемые методы, вот один редко используемый метод, который может сделать это за вас, предоставляя вывод только в СТРОЧНЫЕ буквы и ЦИФРЫ. Это Base32 Encode/Decode . Используйте следующие библиотеки:
Если дело не в безопасности и не в сложности взлома, то как насчет ROT-13
?
//+ Jonas Raoni Soares Silva
//@ http://jsfromhell.com/string/rot13 [rev. #1]
String.prototype.rot13 = function(){
return this.replace(/[a-zA-Z]/g, function(c){
return String.fromCharCode((c <= "Z" ? 90 : 122) >= (c = c.charCodeAt(0) + 13) ? c : c - 26);
});
};
...
var s = "My String";
var enc = s.rot13(); // encrypted value in enc
PHP имеет собственную функцию, str_rot13
: http://php.net/manual/en/function.str-rot13.php
$decrypted = str_rot13($_GET['whatever']);