Простое шифрование Javascript, расшифровка PHP с общим секретным ключом

Речь идет не о безопасности. Это также не сделать его трудно сломать. Я' Я ищу простой алгоритм для изменения строки (URL) таким образом, чтобы она не напоминала оригинал. Шифрование будет выполняться с использованием JavaScript. Затем я хочу передать зашифрованную строку в функцию PHP, чтобы изменить ее на исходную. Оба конца могут иметь общий секретный ключ, или преобразования могут быть без ключа и основываться только на логике.

Идеальное решение

  1. будет простым
  2. будет использовать доступные функции JavaScript для шифрования
  3. будет использовать доступные PHP-функции для дешифрования
  4. будут создавать зашифрованную строку таким образом, чтобы вообще не напоминать обычный текст
  5. будут использовать только строчные буквы алфавита, а цифры в зашифрованной строке
  6. не является методом, широко используемым, как Base64-

Редактировать: последнее требование было добавлено после ответа shamittomar .

14
задан Community 23 May 2017 в 12:10
поделиться

2 ответа

Если это то, что вы хотите, вы можете Base64 кодировать и декодировать это.

[РЕДАКТИРОВАТЬ]: После уточнения OP:

Поскольку вам не нужны широко используемые методы, вот один редко используемый метод, который может сделать это за вас, предоставляя вывод только в СТРОЧНЫЕ буквы и ЦИФРЫ. Это Base32 Encode/Decode . Используйте следующие библиотеки:

12
ответ дан 1 December 2019 в 06:31
поделиться

Если дело не в безопасности и не в сложности взлома, то как насчет 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']);
6
ответ дан 1 December 2019 в 06:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: