lunes, 30 de julio de 2012

Programando en galego [C]

Boas, xa que é a miña primeira entrada no blogue imos a empezar con algo de humor, imos ver como convertir a linguaxe de programación C ao galego, así como o oídes. Todo o truco está no preprocesador, que permite sustituir partes da linguaxe antes de compilar, por exemplo, se no principio do programa escrebemos:
#define se if
#define senon else
Logo podemos facer:
int e_par(int n){
    se (n % 2 == 0){
        return 1;
    } 
    senon{
        return 0;
    }
}
Nota: Obviamente facer isto non é unha boa idea se mais xente vai ver o código, e unha curiosidade e como tal debería quedar ;).

miércoles, 25 de julio de 2012

[Python Code]/Criptografía: Caesar Method.

Boas a todxs, 

Non sei se coñecedes algo de criptografía mais aí vai unha pequena explicación. Criptografía vén de "krypto" (oculto) + "graphos" (escribir), é dicer, escritura oculta, noutras palabras é a arte de cifrar e descifrar mensaxes ocultos en textos que en ocasións parecen non teren sentido.

A criptografía é algo moi presente na seguridade informática pois é preciso cifrar contrasinais, comunicacións e determinada información. Nesta ocasión, ocurriuseme escribir sobre criptografía ao atoparme un reto así nun wargame (Xogos de seguridade informática dos que máis adiante falarei deles).

Nesta proba atopeime co cifrado césar, tamén coñecido como cifrado por desprazamento, é un dos cifrados máis sinxelos e antigos da historia, un método de sustitución que consiste en mudar unha letra no texto por outra que se atopa un nº fixo de posicións máis adiante. O cifrado orixinal desprázase de 3 en 3, e dicer cambia o A polo D, o B polo E, etc... Por exemplo para LIBRE sería QÑHXK. Cando se trata dunha palabra ou dúas facelo a man é bastate sinxelo mais cando toca cifrar ou descifrar un texto de grandes dimensións, coma no wargame é máis coñazo e por iso creei esta ferramenta en python que serve para cifrar e descifrar por este método un texto con calquer extensión e con calqueira desprazamento no abecedario. Agardo fose útil esta información, o script a continuación: