Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 29-10-2012
Comandant Comandant is offline
Miembro
NULL
 
Registrado: ago 2012
Ubicación: Salta
Posts: 34
Poder: 0
Comandant Va por buen camino
Alguien sabe utilizar las nuevas librerias de cifrado del Ing. Seaone?

Hola como dice el titulo alguien a utilizado las nuevas librerías de cifrado AES de el Ing Seaone en delphi XE porque no he podido cifrar un texto de mas de 16 caracteres porque el State es de 16 bits? alguien sabe como aumentar su capacidad o que se dinámico o no se puede? despues quize usar los stream pero me quede en el Create y no entendí bien como leer y escribir. Disculpen mi ignorancia pero quisiera entender como se usan ya que se que son muy conocidas por aquí.

http://code.google.com/p/secrypt/
Código Delphi [-]
uses SeAES256, SeBase64, SeSHA256, SeStreams;
procedure TForm1.Button1Click(Sender: TObject)
var
   Key: AnsiString;
   PlainText: AnsiString;
   AESKey: TAESKey;
   ExpandedKey: TAESExpandedKey;
   State: TAESState;
 begin
   // Clave de 32 bytes de longitud
   Key:= '12345678901234567890123456789012';
   {  #$60#$3d#$eb#$10#$15#$ca#$71#$be#$2b#$73#$ae#$f0#$85#$7d#$77#$81 +
     #$1f#$35#$2c#$07#$3b#$61#$08#$d7#$2d#$98#$10#$a3#$09#$14#$df#$f4;}
   // Texto plano de 16 bytes de longitud
   PlainText:=
     'No puedo meter mas de 16 caracteres';
   AESCopyKey(AESKey,PAnsiChar(Key));
   AESExpandKey(ExpandedKey,AESKey);
   move(PAnsiChar(PlainText)^,State,Sizeof(State));
   AESEncrypt(State,ExpandedKey);
   memo1.Lines.Add(Copy(PAnsiChar(@State),1,Sizeof(State)));
   AESDecrypt(State,ExpandedKey);
   memo2.Lines.Add( 'Bloque = ' + Copy(PAnsiChar(@State),1,Sizeof(State)));
end;

Código Delphi [-]
// Prepara la clave
function CalcularClave(Clave: AnsiString): TAESExpandedKey;
var
  Key: TAESKey;
begin
  // Usamos como Key el hash SHA256 de la Clave
  TSHA256HASH(Key):= CalcSHA256(Clave);
  AEsExpandKey(Result,Key);
end;
 
function Cifrar(Str: AnsiString; Clave: TAESExpandedKey): String;
var
  Dst: TStringStream;
  AStream: TAESEnc;
  BStream: TBase64Enc;
begin
  Dst:= TStringStream.Create(EmptyStr);
  try
    BStream:= TBase64Enc.Create(Dst);
    AStream:= TAESEnc.Create(BStream,Clave);
    try
     AStream.Write(PAnsiChar(Str)^,Length(Str));
    finally
      AStream.Free;
      BStream.Free;
    end;
    Result:= Dst.DataString;
  finally
    Dst.Free;
  end;
end;
 
function Descifrar(Str: AnsiString; Clave: TAESExpandedKey): String;
var
  Dst: TStringStream;
  AStream: TAESDec;
  BStream: TBase64Dec;
begin
  Dst:= TStringStream.Create(EmptyStr);
  try
    AStream:= TAESDec.Create(Dst,Clave);
    BStream:= TBase64Dec.Create(AStream);
    try
     BStream.Write(PAnsiChar(Str)^,Length(Str));
    finally
      BStream.Free;
      AStream.Free;
    end;
    Result:= Dst.DataString;
  finally
    Dst.Free;
  end;
end;

ahi estan los ejemplos pero que no he podido resolverlos, se que la mejor persona es Seaone para que me responda pero es mejor por foro para que quede archivado que no?. Gracias manes
Responder Con Cita
 


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
Begin ... End.... sabe alguien..? itsi OOP 10 11-05-2007 20:13:10
transacciones en cs - alguien sabe? pmfras Conexión con bases de datos 3 11-12-2006 19:26:05
alguien sabe utilizar el TMsnPopUp Rabata Varios 0 08-03-2005 13:48:26
Alguien sabe??? diegofhernando Varios 8 19-07-2004 20:09:59
Alguien sabe que es SAP? Combat-F2D Varios 3 02-05-2004 20:31:33


La franja horaria es GMT +2. Ahora son las 07:43:32.


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