Tema 6: Tutorial para enviar un parámetro  cifrado mediante GET en Django

06/04/2023

Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors

En el tema 6, voy a enseñarte un pequeño tutorial para que aprendas a cifrar mensajes para enviarlas mediante peticiones get en url de Django. Los pasos a seguir son los siguientes:

Índice
  1. Genera una clave de cifrado
  2. Cifra el parámetro
  3. Envía el parámetro cifrado en la URL
  4. Descifra el parámetro en la vista

Genera una clave de cifrado

Lo primero que debes hacer es generar una clave de cifrado. Esta clave será utilizada para cifrar y descifrar el parámetro que se enviará en la URL. Puedes utilizar la biblioteca de cifrado de Django para generar una clave, por ejemplo:

from django.core import signing

SECRET_KEY = 'your-secret-key'
key = signing.dumps(SECRET_KEY)

Cifra el parámetro

Una vez que tengas la clave, puedes utilizarla para cifrar el parámetro que se enviará en la URL. Por ejemplo, si deseas enviar el parámetro id=123 cifrado, puedes hacer lo siguiente:

from django.core import signing

SECRET_KEY = 'your-secret-key'
key = signing.dumps(SECRET_KEY)
id_cifrado = signing.dumps('123', key)

Envía el parámetro cifrado en la URL

Ahora que tienes el parámetro cifrado, puedes enviarlo en la URL. Para hacerlo, puedes utilizar la función reverse de Django para generar la URL con el parámetro cifrado incluido. Por ejemplo:

from django.urls import reverse

url = reverse('mi_vista', kwargs={'id': id_cifrado})

En este ejemplo, mi_vista es el nombre de la vista que manejará la URL, y id_cifrado es el parámetro cifrado que se enviará en la URL.

Descifra el parámetro en la vista

Por último, en la vista que maneja la URL, debes descifrar el parámetro para poder utilizarlo. Puedes hacerlo utilizando la función loads de la biblioteca de cifrado de Django. Por ejemplo:

from django.core import signing

def mi_vista(request, id):
    SECRET_KEY = 'your-secret-key'
    key = signing.dumps(SECRET_KEY)
    id_descifrado = signing.loads(id, key)
    # utiliza el parámetro descifrado como lo necesites

En este ejemplo, id es el parámetro cifrado que se envió en la URL. La función loads descifra el parámetro utilizando la misma clave que se utilizó para cifrarlo. El parámetro descifrado se guarda en la variable id_descifrado y puede ser utilizado en la vista como cualquier otro parámetro.

Espero que este tutorial te haya sido útil para enviar un parámetro cifrado mediante GET en una URL en Django.

Pionera del caos

Ingeniera Informática con Máster en Bioinformática, casi doctora y freelancer. Todo lo que te cuento en este blog son aprendizajes que yo misma he tenido ya sea durante mis estudios o en otros proyectos!

Otras Entradas Relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *



Para continuar es necesario que confirmes la política de privacidad de la web.

Subir