## HashAlgorithm class


Classe base per gli algoritmi di hashing. Gli oggetti di questa classe devono essere allocati solo utilizzando la funzione [System::MakeObject()](../../system/makeobject/) . Non creare mai un'istanza di questo tipo sullo stack o usando l'operatore new, poiché ciò provocherà errori di runtime e/o fault di asserzione. Avvolgere sempre questa classe in un puntatore [System::SmartPtr](../../system/smartptr/) e usare questo puntatore per passarla alle funzioni come argomento.

```cpp
class HashAlgorithm : public System::Security::Cryptography::ICryptoTransform
```

## Metodi

| Metodo | Descrizione |
| --- | --- |
| [ComputeHash](./computehash/)(const ArrayPtr\<uint8_t\>\&) | Calcola l'hash del buffer. |
| [ComputeHash](./computehash/)(const ArrayPtr\<uint8_t\>\&, int, int) | Calcola l'hash di una porzione del buffer. |
| [ComputeHash](./computehash/)(SharedPtr\<IO::Stream\> const\&) | Legge lo stream fino alla fine e calcola l'hash per i dati letti. |
| static [Create](./create/)(const String\&) | Crea un algoritmo di hash basato sul nome. |
| virtual [get_Hash](./get_hash/)() | Ottiene il valore del codice hash calcolato. |
| virtual [get_HashSize](./get_hashsize/)() | Ottiene la dimensione del valore hash calcolato in byte. |
| [get_InputBlockSize](./get_inputblocksize/)() override | Dimensione del blocco di input. |
| [get_OutputBlockSize](./get_outputblocksize/)() override | Dimensione del blocco di output. |
| virtual [Initialize](./initialize/)() | Reimposta l'hashatore allo stato iniziale. |
| [TransformBlock](./transformblock/)(ArrayPtr\<uint8_t\>, int, int, ArrayPtr\<uint8_t\>, int) override | Elabora un blocco di dati e copia i dati nell'array di output. |
| [TransformFinalBlock](./transformfinalblock/)(ArrayPtr\<uint8_t\>, int, int) override | Elabora l'ultimo blocco di dati e calcola l'hash. |
| virtual [~HashAlgorithm](./~hashalgorithm/)() | Distruttore. |
## Vedi anche

* Class [ICryptoTransform](../icryptotransform/)
* Namespace [System::Security::Cryptography](../)
* Library [Aspose.Page for C++](../../)
