Un mecanismo de codificación sencillo es el llamado SPADE

Anuncio
Un mecanismo de codificación sencillo es el llamado SPADE.(“Simple Protocol Application Data
Encoding”). Es interesante porque ilustra el problema desde su simplicidad.
Usa ASCII, separado por “:” (dos puntos). Su sintaxis expresada en ABNF (rfc2234) es:
element
byte
unsigned
integer
symbol
list
;
;
struct
;
union-val
;
;
PDIGIT
;
= byte / integer / symbol / list / struct / union-val
= OCTET
= ("0" / PDIGIT *DIGIT) ":"
= unsigned / ("-" PDIGIT *DIGIT ":")
= ALPHA *(ALPHA / DIGIT / "-") ":"
= unsigned *element
unsigned determines the number of elements
all elements must be of same type
= 1*element
number, type, and order depend on type
= symbol unsigned [element]
unsigned is the length of the element
unsigned is 0 if element is omitted
= %x31-39
1-9
Teniendo en cuenta las estructuras de datos:
structure Header {
String name
String value
}
structure Message {
List[Header] headers
String body
}
union Command {
send: Message m
help: Null
quit: Null
}
Escribir cómo se codificaría en SPADE las órdenes siguientes:
− Pedir ayuda,
− enviar mensaje de “Juan” a “Pedro” con texto “hola”.
Imagina que has de proteger para limitar la distribución “ilegal” de un programa comercial:
Mecanismos:
- Número de serie: para “particularizarlo” cada caja del producto o cada CD llevará una etiqueta
con un número o texto único.
Al instalar el programa, para que pueda funcionar correctamente, hay que escribir el
número/texto de serie en una casilla de la pantalla de bienvenida. Con ese número/texto de
serie el programa podrá funcionar.
Si el usuario quiere tener soporte, además ha de personalizarlo: conectarse a una página web
donde hay un formulario que pide: nombre, número de serie, dirección de correo
electrónico y devuelve un número/texto de usuario registrado.
- Número de registro: para “personalizarlo”, una vez registrado en el fabricante, se obtiene un
texto que puesto en un formulario del programa, hace que en la pantalla de bienvenida el
programa diga que es una copia registrada y muestre el nombre del usuario registrado.
Se pide: proponer qué mecanismos usarías para construir los números/textos de serie y de
registro.
Descargar