Estoy desarrollando un sitio web ASP.NET MVC 5, en el que un usuario puede seleccionar algunos filtros, en función de los rellenos en los que el servidor procesa un resultado, y el usuario puede hacer un pedido y pagarlo.
En mi tabla Order
almaceno los filtros (5 columnas), el Id(PK)
, y necesito almacenar un OrderId
en un cookie
para rastrearlo, sé que es una mala práctica exponer y almacene el PK
en el lado del cliente, así que creo otra columna llamada OrderId
. Este order id
también debe ser único, y una lectura amigable (por lo que aquí se descarta un GUID), pensé en obtener el DateTime("yyyyMMddhhmmssffff")
y concat con otro filtro para hacer esta identificación, pero creo que es una opción débil porque un atacante Podrías encontrar el patrón fácilmente.
¿Cuál es la opción que tengo para lidiar con esta situación? ¿Puedo hash este OrderID
antes de guardar la cookie? ¿Y sobre guardar el código plano en DB? La validación de cookies es de 24 horas.