Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 26-02-2023
esublim esublim is offline
Miembro
 
Registrado: dic 2022
Posts: 40
Poder: 0
esublim Va por buen camino
Revertir Sh-256 base 64

Código Delphi [-]
function calcularHash(const mensaje,key:string; descifrar: boolean):string;
var
  hash:THashSHA2;
begin
result:=thash.DigestAsString(hash.GetHMACAsBytes(mensaje,key,SHA256));
end;

Código Delphi [-]
function GetStrHashSHA256(Str: String): String;
var
  HashSHA: THashSHA2;
begin
    HashSHA := THashSHA2.Create;
    HashSHA.GetHashString(Str);
    result := upperCase(HashSHA.GetHashString(Str,SHA256));
end;


hola tengo estas dos funciones que me trabajan de maravilla.
el problema es que cifro del hash pero como hagoo para descrifar.

me podrian dar una idea
Responder Con Cita
  #2  
Antiguo 26-02-2023
esublim esublim is offline
Miembro
 
Registrado: dic 2022
Posts: 40
Poder: 0
esublim Va por buen camino
o algun codigo ejemplo para delphi 11 de cifrado aes -256
Responder Con Cita
  #3  
Antiguo 26-02-2023
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Recuerda poner títulos descriptivos a tus mensajes, "hash" no dice nada de qué problema quieres resolver. Gracias.
Recuerda nuestra guía de estilo, saludos.
Responder Con Cita
  #4  
Antiguo 26-02-2023
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Este código utiliza la clase TIdHashSHA256 de la librería Indy para calcular el hash SHA256. El método HashStringAsHex se utiliza para obtener el hash en formato hexadecimal. El cifrado se realiza en el Button1Click y el descifrado en el Button2Click. En ambos casos, se crea una instancia de TIdHashSHA256, se llama al método correspondiente y se libera la memoria al final.

Código Delphi [-]
unit Unit1;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, IdHashSHA;

type
  TForm1 = class(TForm)
    Label1: TLabel;
    Edit1: TEdit;
    Button1: TButton;
    Label2: TLabel;
    Edit2: TEdit;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
  HashSHA256: TIdHashSHA256;
begin
  HashSHA256 := TIdHashSHA256.Create;
  try
    Edit2.Text := HashSHA256.HashStringAsHex(Edit1.Text);
  finally
    HashSHA256.Free;
  end;
end;

procedure TForm1.Button2Click(Sender: TObject);
var
  HashSHA256: TIdHashSHA256;
begin
  HashSHA256 := TIdHashSHA256.Create;
  try
    Edit1.Text := HashSHA256.HashStringAsHex(Edit2.Text);
  finally
    HashSHA256.Free;
  end;
end;

end.
Responder Con Cita
  #5  
Antiguo 26-02-2023
esublim esublim is offline
Miembro
 
Registrado: dic 2022
Posts: 40
Poder: 0
esublim Va por buen camino
Revertir Sh-256 base 64

hola tengo un sistemita sencillo con el siguiente codigo
Código Delphi [-]
Memo2.Text:= TNetEncoding.Base64.EncodeBytesToString(THashSHA2.GetHMACAsBytes(Memo1.Text,Edit7.Text, SHA256));

que genera lo mismo que esta wb : https://www.devglan.com/online-tools/hmac-sha256-online

pero el problema es como hago para revertirlo. es decir leer el código generado a la cadena inicial.
Responder Con Cita
  #6  
Antiguo 26-02-2023
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Seguramente tienes un Base64.Decode...
Responder Con Cita
  #7  
Antiguo 26-02-2023
esublim esublim is offline
Miembro
 
Registrado: dic 2022
Posts: 40
Poder: 0
esublim Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Este código utiliza la clase TIdHashSHA256 de la librería Indy para calcular el hash SHA256. El método HashStringAsHex se utiliza para obtener el hash en formato hexadecimal. El cifrado se realiza en el Button1Click y el descifrado en el Button2Click. En ambos casos, se crea una instancia de TIdHashSHA256, se llama al método correspondiente y se libera la memoria al final.

Código Delphi [-]
unit Unit1;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, IdHashSHA;

type
  TForm1 = class(TForm)
    Label1: TLabel;
    Edit1: TEdit;
    Button1: TButton;
    Label2: TLabel;
    Edit2: TEdit;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
  HashSHA256: TIdHashSHA256;
begin
  HashSHA256 := TIdHashSHA256.Create;
  try
    Edit2.Text := HashSHA256.HashStringAsHex(Edit1.Text);
  finally
    HashSHA256.Free;
  end;
end;

procedure TForm1.Button2Click(Sender: TObject);
var
  HashSHA256: TIdHashSHA256;
begin
  HashSHA256 := TIdHashSHA256.Create;
  try
    Edit1.Text := HashSHA256.HashStringAsHex(Edit2.Text);
  finally
    HashSHA256.Free;
  end;
end;

end.
no me funciono
Responder Con Cita
  #8  
Antiguo 27-02-2023
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.734
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Angry

Cita:
Empezado por esublim Ver Mensaje
no me funciono
Como no digas qué es lo que no funcionó o cuál es el mensaje de error, poco podrán ayudarte...

Imagínate que un cliente te llama y te dice "no funciona". ¿Cómo sigue la conversación?
¿Qué es lo que no funciona?
¿Cuál es el mensaje de error?
¿Qué pasos sigues para llegar al error?
¿Qué datos utilizas como parámetros?

Podrías ahorrar estos pasos y explicarlos porque la respuesta podría ser: "a mi si me funciona" y no estaríamos resolviendo nada.
Responder Con Cita
Respuesta



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
Revertir números mágicos matemáticamente aguml Varios 1 05-01-2021 15:55:27
Trigger que inserte de una base en un servidor a otra base en otro servidor RicardoLT SQL 2 07-01-2017 17:18:08
Conectar base de datos Firebird con base de datos Oscommerce 2.3.3 Adriadob Firebird e Interbase 11 31-10-2012 11:28:46
Revertir numeros Jose Meneses Varios 4 23-04-2009 00:01:25
Mysql: copiar los campos de una tabla de una base de datos a otra tabla de otra base? patriram MySQL 4 02-11-2007 16:00:24


La franja horaria es GMT +2. Ahora son las 10:20: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