У меня есть приложение на python, которое связывается с php-сервером.Я пытаюсь передать зашифрованную строку из приложения python на php-сервер для декодирования и хранения:
Python Code
url = "http://www.steventaylordevelopment.com/php/rk2.php"
entry = {"username": encode("sdjfkhkj2h34", "username"),
"mode": "hardcore",
"score": 121114,
"attempts": 15,
"time": 12121,
"rank": "prince"}
d = {"action": "addEntry",
"entry": json.dumps(entry)}
r = requests.post(url=url, data=d)
Функция кодирования:
def encode(key, string):
encoded_chars = []
for i in range(len(string)):
key_c = key[i % len(key)]
encoded_c = chr(ord(string[i]) + ord(key_c) % 256)
encoded_chars.append(encoded_c)
encoded_string = ''.join(encoded_chars)
return encoded_string
PHP-код
$entry = json_decode($_POST["entry"], true);
$decoded_username = decode("sdjfkhkj2h34", $entry["username"]);
$new_entry = $rk2_db->prepare("INSERT INTO leaderboard (username, mode, score, attempts, time, rank, date) VALUES (?, ?, ?, ?, ?, ?, NOW())");
$new_entry->bind_param("ssiiis", $decoded_username, $entry["mode"], $entry["score"], $entry["attempts"], $entry["time"], $entry["rank"]);
$new_entry->execute();
$new_entry->close();
функция декодирования
function decode($key, $string){
$encoded_chars = array();
for($i = 0; $i < strlen($string); $i++){
$key_c = $key[$i % strlen($key)];
$encoded_c = chr((ord($string[$i]) - ord($key_c) + 256) % 256);
array_push($encoded_chars, $encoded_c);
}
$decoded_string = implode("", $encoded_chars);
return $decoded_string;
Я протестировал сопряжение функций кодирования / декодирования отдельно, и они работают нормально,но как только я пытаюсь передать закодированную строку с запросом http (используя запросы python), дела идут плохо, и она не декодирует строку должным образом.Как я могу передать эту зашифрованную строку на мой php-сервер, а затем расшифровать ее?
Примечание
Я знаю, что это вовсе не безопасно.Это не важно, поскольку информация не является конфиденциальной.Как упражнение по программированию я пытаюсь добавить простой слой запутывания к передаваемой информации.Я просто пытаюсь выяснить, почему зашифрованная строка не расшифровывается должным образом на стороне сервера.