Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Encripta con AES 256 diferente cada vez (https://www.clubdelphi.com/foros/showthread.php?t=94551)

YosvanyRL 28-03-2020 13:34:18

Encripta con AES 256 diferente cada vez
 
Hola a todos.
Traigo al club de delphi una duda que llevo varios dias tratandola de resolver pero nada.
Encontre un comprimido que tiene varios .pas para encriptar y desencriptar, pero cada vez que encripta un texto me genera un codigo diferente cada vez aunque sea con el mismo clave. Y de esa manera no me sirve porque yo nesesito guardar por ejemplo el ID del microprocesador encriptado y compararlo cada ves que arranca el programa pero sin tener que desencriptarlo es decir cuando abre el programa vuelve a generar el codigo y lo compara con el anterior sin tener que desencriptarlo.
Esa es mi duda.
Hay algun codigo para aes256 que me sirba u otra idea. De todas maneras lo que necesito es que funcione.
Gracias

Casimiro Notevi 28-03-2020 15:06:22

¿Y qué código usas, qué componentes, etc.?

YosvanyRL 28-03-2020 15:19:43

Estoy usando SeCrypt Master que trae 6 .pas y un .inc

Asm.inc
SeAES256.pas
SeBase64.pas
SeEasyAES.pas
SeMD5.pas
SeSHA256.pas
SeStreams.pas

YosvanyRL 28-03-2020 15:24:20

El que uso es SeEasyAES que tiene la funcion
EasyAESEnc(src, dst:Tstream; password: widestring);overload

YosvanyRL 28-03-2020 15:29:23

Ahhhhh. No los instalo solo añado el .pas al proyecto y uso la funcion de encriptar y desencriptar que tiene implicita

mamcx 28-03-2020 18:43:39

Cita:

Empezado por YosvanyRL (Mensaje 536519)
pero cada vez que encripta un texto me genera un codigo diferente cada vez aunque sea con el mismo clave.

MENOS MAL.

Porque si no hiciera eso seria UN FALLO DE SEGURIDAD.

Encriptar es para proteger la información, NO PARA COMPARARLA. La UNICA invariante que se respeta es que lo que encriptes de desencripta al pasar las calves adecuadas. NO HAY GARANTIA DE IGUALDAD, porque si lo hubiera, SERIA ESTUPIDO.

Ok?

Si necesitas que es igualdad/comparable debes usar otra cosa que tenga esa invariante, como un HASH (que tambien muchos idiotamente lo confunden con un encriptado). Los HASH, aun los de tipo criptografico, NO SON para proteger informacion, son para generar valores de igualdad ofuscando su valor inicial.

YosvanyRL 28-03-2020 19:20:57

Gracias por tu sabia aclaracion.
Pero aun no me has ayudado en nada

YosvanyRL 28-03-2020 19:22:31

Si alguien pudiera ayudarme en este tema sin desirme estupido se lo agradeseria

Casimiro Notevi 28-03-2020 21:36:48

Puedes usar las funciones del amigo Seoane.
Hay varios hilos donde se trata el tema.

mamcx 29-03-2020 01:55:02

Cita:

Empezado por YosvanyRL (Mensaje 536526)
Si alguien pudiera ayudarme en este tema sin desirme estupido se lo agradeseria

Solo por aclarar, no dije que fueras estupido, sino que el algoritmo lo seria. Es MUY inteligente preguntar cuando algo no encaja con las expectativas al programar.

Tambien, la respuesta es usar un algoritmo de HASH en este caso, pero no lo dije directo porque no se si ADEMAS necesitas encriptacion.

wilcg 03-04-2020 02:20:26

Revisa los Modos de operación de una unidad de cifrado (ECB, CBC, OFB y CFB), de acuerdo al modo que usas depende el resultado de la encriptación un solo texto o cambiante por así llamarlo.


La franja horaria es GMT +2. Ahora son las 09:04:58.

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