Busca la funcion que necesitas!

miércoles, 19 de enero de 2011

C - Encriptación simple en C

Acá les publico un algoritmo de encriptación que hize, viene siendo como un ROT-1, funciona encriptando binarios y cadenas así que no hay que preocuparse por el carácter nulo :P

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
/*
Coder: Linkgl
http://funcion-linkgl.blogspot.com
*/
char *LinkCrypt(char *cadena,int largo);
char *LinkDECrypt(char *cadena,int largo);
int main()
{
  char *buffer;
  //->
  buffer=(char *)malloc(10);
  memset(buffer,0,10);
  //-> USO
  buffer=LinkCrypt("soy linkgl",10);
  printf("Encriptada-> %s\n",buffer);
  printf("Desencriptada-> %s",LinkDECrypt(buffer,10));
  getchar();
  return 0;
}
char *LinkCrypt(char *cadena,int largo)
{
  char *final;
  int caracter;
  final=(char *)malloc(largo+1);
  memset(final,0,largo+1);
  for(int i=0;i<largo;i++)
  {
    if((int)cadena[i]==0)
      caracter=255;
    else
      caracter=(int)cadena[i]-1;
    final[i]=(char)caracter;
  }
  return final;
}

char *LinkDECrypt(char *cadena,int largo)
{
  char *final;
  int caracter;
  final=(char *)malloc(largo+1);
  memset(final,0,largo+1);
  for(int i=0;i<largo;i++)
  {
    if((int)cadena[i]==255)
      caracter=0;
    else
      caracter=(int)cadena[i]+1;
    final[i]=(char)caracter;
  }
  return final;
}

No hay comentarios:

Publicar un comentario