dmtHash

Crea un'impronta (hash) di un file in base all'algoritmo passato.

 

Dichiarazione - C

LONG WINAPI dmtHash (

HDMTOBJ hDmt,

char *szFileName,

char *szOutputFileHash = NULL,

char *szOutputHexHash = NULL,

char *szOutputHash = NULL,

long dwAlgHash = DMT_CALG_SHA1,

bool bMinuscole = false);

 

Dichiarazione - Visual Basic

Public Declare Function dmtHash Lib "Dimatec.dll" _

(ByVal hDmt As Long, _

ByVal szFileName As String, _

Optional ByVal szOutputFileHash As String = vbNullString, _

Optional ByVal szOutputHexHash As String = vbNullString, _

Optional ByVal szOutputHash As String = vbNullString, _

Optional ByVal dwAlgHash As Long = DMT_CALG_SHA1, _

Optional ByVal fMinuscole As Boolean = False) _

As Long

Dichiarazione - Visual Dataflex

External_Function dmtHash "dmtHash" Dimatec.dll ;

Handle hDmt ;

String szFileName ;

String szOutputFileHash ;        // = ""

Address lpOutputHexHash ;           // = NULL

Address lpOutputHash ;              // = NULL

Integer dwAlgHash ;                 // = DMT_CALG_SHA1

Boolean fMinuscole ;                // = FALSE

Returns Integer

Dichiarazione - C Sharp

[DllImport("Dimatec.dll")]

public static extern int dmtHash (

int hDmt,

string szFileName,

string szOutputFileHash /*= ""*/,

StringBuilder szOutputHexHash /*= ""*/,

StringBuilder szOutputHash /*= ""*/,

int dwAlgHash /*= DMT_CALG_SHA1*/,

bool fMinuscole /*= false */);

 

Parametri di input:
Parametri di output:
Valore di ritorno:

DMT_OK in caso di successo, altrimenti un codice di errore

 


Esempi di utilizzo

Visual Dataflex

Integer ret

String sFileToHash

String sFileImpronta

                

Get psFileToHash of oGeneraImpronta to sFileToHash

Get Label of oTextBox_FileImpronta to sFileImpronta

 

// Check

If (Length(Trim(psFileToHash(oGeneraImpronta))) = 0) Begin

    Send Stop_Box "Non e' stato scelto nessun file da cifrare" "EseguiCifratura"

    Procedure_Return

End

            

Move (dmtHash( ;

    ghDmt , ;

    sFileToHash , ;

    sFileImpronta , ;

    0 , ;

    0 , ;

    DMT_CALG_SHA1 , ;

    False)) to ret

 

C Sharp

if (labelFileToHash.Text.Length == 0)

{

    MessageBox.Show(this, "Any file selected to hash", "HashFile",

        MessageBoxButtons.OK, MessageBoxIcon.Error);

    return;

}

 

StringBuilder szOutputHexHash = new StringBuilder("");

StringBuilder szOutputHash = new StringBuilder("");

 

int HashResult = CDIMATECLIBRARY.dmtHash(

    CDIMATECLIBRARY.ghDimatecObj,

    labelFileToHash.Text,

    labelHashFileGenerated.Text,

    szOutputHexHash,

    szOutputHash,

    CDIMATECLIBRARY.DMT_CALG_SHA1,

    false);