Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 11-09-2008
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.211
Poder: 22
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Estoy de acuerdo con coso.
En mi Builder 5 no puedo probar, Random no está implamentada y la función random del C no es adecuada. En delphi 6 si está implementada y supongo que en Builder 6.

Yo probaría con esto:
Código:
Result = Result +(char) (((BYTE)ToDecript[i]) ^ Random(256));
Saludos.
Responder Con Cita
  #2  
Antiguo 11-09-2008
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.211
Poder: 22
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Me pregunto el porqué de la necesidad de la traducción, es decir Random(256) debe generar siempre el mismo número del 0 al 256 (un Byte) para que el algoritmo funcione, y ese valor depende de Key (RandSeed = Key) luego es posible realizar la función prescindiendo de Random si conocemos como convertir el valor.

Por otro lado es un sistema excesivamente simple pues el xor se hace con 8 bits....

Solamente si estás obligado a seguir ese tipo de codificación pues no te queda otro remedio.

Una opcion que site va a funcionar es realizar una unit con esa funcion en delphi y compliarla talcual con el Builder, puesto que compila pascal...

Saludos.
Responder Con Cita
  #3  
Antiguo 11-09-2008
Avatar de juanelo
juanelo juanelo is offline
Miembro
 
Registrado: sep 2007
Posts: 1.087
Poder: 20
juanelo Va por buen camino
Recuerda que las cadenas en C, comienzan con 0 y terminan con Length()-1
Saludos
__________________
Ya tengo Firma!
Responder Con Cita
  #4  
Antiguo 12-09-2008
ninguno ninguno is offline
Miembro
 
Registrado: sep 2008
Posts: 45
Poder: 0
ninguno Va por buen camino
Hola

Cita:
Empezado por escafandra Ver Mensaje
Estoy de acuerdo con coso.
En mi Builder 5 no puedo probar, Random no está implamentada y la función random del C no es adecuada. En delphi 6 si está implementada y supongo que en Builder 6.
Pues o no se en que librería o Random no existe en Builder 6

Cita:
Empezado por escafandra Ver Mensaje
Me pregunto el porqué de la necesidad de la traducción, es decir Random(256) debe generar siempre el mismo número del 0 al 256 (un Byte) para que el algoritmo funcione, y ese valor depende de Key (RandSeed = Key) luego es posible realizar la función prescindiendo de Random si conocemos como convertir el valor.
jejeje, pues dime cómo, que yo ni idea

Cita:
Empezado por escafandra Ver Mensaje
Por otro lado es un sistema excesivamente simple pues el xor se hace con 8 bits....

Solamente si estás obligado a seguir ese tipo de codificación pues no te queda otro remedio.
No, no estoy obligado, sólo es para que lleve "algo" de protección ese dato, que ya se tengan que molestar en hacer la desencriptación aunque sea un proceso sencillo. Además, necesito una que sea "reversible" como esta.

Cita:
Empezado por escafandra Ver Mensaje
Una opcion que site va a funcionar es realizar una unit con esa funcion en delphi y compliarla talcual con el Builder, puesto que compila pascal...
Si entiendo bien lo que me comentas..... ¿puedo coger la unit donde tengo esta función y añadirla al proyecto de Builder y compilar tal cual? Eso sería genial y me ahorraría cantidad de trabajo

Gracias por todos los aportes
Responder Con Cita
  #5  
Antiguo 12-09-2008
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.211
Poder: 22
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Esta función te puede servir:

Código:
void Crypt(void *Source, int Size, char* Clave, int Mod=0);
Código:
#include "windows.h"
#include <stdlib.h>

// CopyRight escafandra
// Rutina de encriptación Xor.
// La misma rutina encripta y desencripta.
// Clave clave en modo texto que se tratará como de 8 caracteres, 64 bits
// Mod es el módulo restante para encriptaciones parciales
// Si se encripta un buffer por partes, Mod es Size_encriptado%8
// donde Size_encriptado es el tamaño total de lo encriptado hasta ese momento.
// Mod corrige el punto de comienzo del nuevo bloque a encriptar.

void
Crypt(void *Source, int Size, char* Clave, int Mod)
{
   BYTE *source = (BYTE*)Source;
   BYTE clave[8];
   int lClave = strlen(Clave);
   for(int n=0; n<8; n++)
     clave[n] = Clave[n%lClave];

   for(int n=0; n<Size; n++, Mod++){
     source[n] ^= clave[Mod%8];
   }
}
Saludos.

Última edición por escafandra fecha: 12-09-2008 a las 12:15:32.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Uso de la funcion en delphi 7 jedinds OOP 1 19-05-2008 04:00:32
Funcion Delphi en SQL raverri SQL 10 16-07-2007 18:07:47
Traduccion de función VB a delphi !!! Jan_polero API de Windows 2 07-02-2005 12:32:54
Funcion Nz en delphi?? NuncaMas Varios 1 24-12-2003 14:51:31
funcion delphi Ramon Varios 1 13-05-2003 12:45:03


La franja horaria es GMT +2. Ahora son las 00:13:57.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi