---
title: "DigestAlgorithm"
description: "Namespace: Lacuna.Pki"
canonical: "https://docs.lacunasoftware.com/api/Lacuna.Pki/DigestAlgorithm"
locale: "pt-BR"
product: "PKI SDK"
last_updated: "2026-06-02"
---

# DigestAlgorithm

**Namespace:** `Lacuna.Pki`  
**Assembly:** `Lacuna.Pki`  
_Class_

```csharp
public abstract class DigestAlgorithm
```

**Hierarquia:** [`object`](https://learn.microsoft.com/dotnet/api/system.object) → `DigestAlgorithm`

## Construtores

### `DigestAlgorithm()`

```csharp
protected DigestAlgorithm()
```

---

## Campos

### `MD5`

```csharp
public static readonly DigestAlgorithm MD5
```

**Retorno**

[`DigestAlgorithm`](https://docs.lacunasoftware.com/api/Lacuna.Pki/DigestAlgorithm)

---

### `SHA1`

```csharp
public static readonly DigestAlgorithm SHA1
```

**Retorno**

[`DigestAlgorithm`](https://docs.lacunasoftware.com/api/Lacuna.Pki/DigestAlgorithm)

---

### `SHA256`

```csharp
public static readonly DigestAlgorithm SHA256
```

**Retorno**

[`DigestAlgorithm`](https://docs.lacunasoftware.com/api/Lacuna.Pki/DigestAlgorithm)

---

### `SHA384`

```csharp
public static readonly DigestAlgorithm SHA384
```

**Retorno**

[`DigestAlgorithm`](https://docs.lacunasoftware.com/api/Lacuna.Pki/DigestAlgorithm)

---

### `SHA512`

```csharp
public static readonly DigestAlgorithm SHA512
```

**Retorno**

[`DigestAlgorithm`](https://docs.lacunasoftware.com/api/Lacuna.Pki/DigestAlgorithm)

---

## Propriedades

### `ByteLength`

```csharp
public abstract int ByteLength { get; }
```

**Retorno**

[`int`](https://learn.microsoft.com/dotnet/api/system.int32)

---

### `HashAlgorithmName`

```csharp
public abstract HashAlgorithmName HashAlgorithmName { get; }
```

**Retorno**

[`HashAlgorithmName`](https://learn.microsoft.com/dotnet/api/system.security.cryptography.hashalgorithmname)

---

### `Name`

```csharp
public abstract string Name { get; }
```

**Retorno**

[`string`](https://learn.microsoft.com/dotnet/api/system.string)

---

### `Oid`

```csharp
public abstract string Oid { get; }
```

**Retorno**

[`string`](https://learn.microsoft.com/dotnet/api/system.string)

---

### `XmlUri`

```csharp
public abstract string XmlUri { get; }
```

**Retorno**

[`string`](https://learn.microsoft.com/dotnet/api/system.string)

---

## Métodos

### `CheckLength(byte[])`

```csharp
public void CheckLength(byte[] digestValue)
```

**Parâmetros**

| Nome | Tipo | Descrição |
|---|---|---|
| `digestValue` | [`byte[]`](https://learn.microsoft.com/dotnet/api/system.byte) |  |

---

### `ComputeHash(byte[], int, int)`

```csharp
public byte[] ComputeHash(byte[] buffer, int offset, int count)
```

**Parâmetros**

| Nome | Tipo | Descrição |
|---|---|---|
| `buffer` | [`byte[]`](https://learn.microsoft.com/dotnet/api/system.byte) |  |
| `offset` | [`int`](https://learn.microsoft.com/dotnet/api/system.int32) |  |
| `count` | [`int`](https://learn.microsoft.com/dotnet/api/system.int32) |  |

**Retorno**

[`byte[]`](https://learn.microsoft.com/dotnet/api/system.byte)

---

### `ComputeHash(byte[])`

```csharp
public byte[] ComputeHash(byte[] buffer)
```

**Parâmetros**

| Nome | Tipo | Descrição |
|---|---|---|
| `buffer` | [`byte[]`](https://learn.microsoft.com/dotnet/api/system.byte) |  |

**Retorno**

[`byte[]`](https://learn.microsoft.com/dotnet/api/system.byte)

---

### `ComputeHash(Stream)`

```csharp
public byte[] ComputeHash(Stream inputStream)
```

**Parâmetros**

| Nome | Tipo | Descrição |
|---|---|---|
| `inputStream` | [`Stream`](https://learn.microsoft.com/dotnet/api/system.io.stream) |  |

**Retorno**

[`byte[]`](https://learn.microsoft.com/dotnet/api/system.byte)

---

### `Equals(DigestAlgorithm)`

```csharp
public bool Equals(DigestAlgorithm other)
```

**Parâmetros**

| Nome | Tipo | Descrição |
|---|---|---|
| `other` | [`DigestAlgorithm`](https://docs.lacunasoftware.com/api/Lacuna.Pki/DigestAlgorithm) |  |

**Retorno**

[`bool`](https://learn.microsoft.com/dotnet/api/system.boolean)

---

### `Equals(object)`

```csharp
public override bool Equals(object obj)
```

**Parâmetros**

| Nome | Tipo | Descrição |
|---|---|---|
| `obj` | [`object`](https://learn.microsoft.com/dotnet/api/system.object) |  |

**Retorno**

[`bool`](https://learn.microsoft.com/dotnet/api/system.boolean)

---

### `GetCsp()`

```csharp
public abstract HashAlgorithm GetCsp()
```

**Retorno**

[`HashAlgorithm`](https://learn.microsoft.com/dotnet/api/system.security.cryptography.hashalgorithm)

---

### `GetHashCode()`

```csharp
public override int GetHashCode()
```

**Retorno**

[`int`](https://learn.microsoft.com/dotnet/api/system.int32)

---

### `GetInstanceByHashAlgorithmName(HashAlgorithmName)`

```csharp
public static DigestAlgorithm GetInstanceByHashAlgorithmName(HashAlgorithmName name)
```

**Parâmetros**

| Nome | Tipo | Descrição |
|---|---|---|
| `name` | [`HashAlgorithmName`](https://learn.microsoft.com/dotnet/api/system.security.cryptography.hashalgorithmname) |  |

**Retorno**

[`DigestAlgorithm`](https://docs.lacunasoftware.com/api/Lacuna.Pki/DigestAlgorithm)

---

### `GetInstanceByName(string)`

```csharp
public static DigestAlgorithm GetInstanceByName(string name)
```

**Parâmetros**

| Nome | Tipo | Descrição |
|---|---|---|
| `name` | [`string`](https://learn.microsoft.com/dotnet/api/system.string) |  |

**Retorno**

[`DigestAlgorithm`](https://docs.lacunasoftware.com/api/Lacuna.Pki/DigestAlgorithm)

---

### `GetInstanceByOid(string)`

```csharp
public static DigestAlgorithm GetInstanceByOid(string oid)
```

**Parâmetros**

| Nome | Tipo | Descrição |
|---|---|---|
| `oid` | [`string`](https://learn.microsoft.com/dotnet/api/system.string) |  |

**Retorno**

[`DigestAlgorithm`](https://docs.lacunasoftware.com/api/Lacuna.Pki/DigestAlgorithm)

---

### `GetInstanceByXmlUri(string)`

```csharp
public static DigestAlgorithm GetInstanceByXmlUri(string xmlUri)
```

**Parâmetros**

| Nome | Tipo | Descrição |
|---|---|---|
| `xmlUri` | [`string`](https://learn.microsoft.com/dotnet/api/system.string) |  |

**Retorno**

[`DigestAlgorithm`](https://docs.lacunasoftware.com/api/Lacuna.Pki/DigestAlgorithm)

---

### `TryGetInstanceByHashAlgorithmName(HashAlgorithmName, out DigestAlgorithm)`

```csharp
public static bool TryGetInstanceByHashAlgorithmName(HashAlgorithmName name, out DigestAlgorithm alg)
```

**Parâmetros**

| Nome | Tipo | Descrição |
|---|---|---|
| `name` | [`HashAlgorithmName`](https://learn.microsoft.com/dotnet/api/system.security.cryptography.hashalgorithmname) |  |
| `alg` | [`DigestAlgorithm`](https://docs.lacunasoftware.com/api/Lacuna.Pki/DigestAlgorithm) |  |

**Retorno**

[`bool`](https://learn.microsoft.com/dotnet/api/system.boolean)

---

### `TryGetInstanceByName(string, out DigestAlgorithm)`

```csharp
public static bool TryGetInstanceByName(string name, out DigestAlgorithm alg)
```

**Parâmetros**

| Nome | Tipo | Descrição |
|---|---|---|
| `name` | [`string`](https://learn.microsoft.com/dotnet/api/system.string) |  |
| `alg` | [`DigestAlgorithm`](https://docs.lacunasoftware.com/api/Lacuna.Pki/DigestAlgorithm) |  |

**Retorno**

[`bool`](https://learn.microsoft.com/dotnet/api/system.boolean)

---

### `TryGetInstanceByOid(string, out DigestAlgorithm)`

```csharp
public static bool TryGetInstanceByOid(string oid, out DigestAlgorithm alg)
```

**Parâmetros**

| Nome | Tipo | Descrição |
|---|---|---|
| `oid` | [`string`](https://learn.microsoft.com/dotnet/api/system.string) |  |
| `alg` | [`DigestAlgorithm`](https://docs.lacunasoftware.com/api/Lacuna.Pki/DigestAlgorithm) |  |

**Retorno**

[`bool`](https://learn.microsoft.com/dotnet/api/system.boolean)

---

## Operadores

### `operator !=(DigestAlgorithm, DigestAlgorithm)`

```csharp
public static bool operator !=(DigestAlgorithm a, DigestAlgorithm b)
```

**Parâmetros**

| Nome | Tipo | Descrição |
|---|---|---|
| `a` | [`DigestAlgorithm`](https://docs.lacunasoftware.com/api/Lacuna.Pki/DigestAlgorithm) |  |
| `b` | [`DigestAlgorithm`](https://docs.lacunasoftware.com/api/Lacuna.Pki/DigestAlgorithm) |  |

**Retorno**

[`bool`](https://learn.microsoft.com/dotnet/api/system.boolean)

---

### `operator ==(DigestAlgorithm, DigestAlgorithm)`

```csharp
public static bool operator ==(DigestAlgorithm a, DigestAlgorithm b)
```

**Parâmetros**

| Nome | Tipo | Descrição |
|---|---|---|
| `a` | [`DigestAlgorithm`](https://docs.lacunasoftware.com/api/Lacuna.Pki/DigestAlgorithm) |  |
| `b` | [`DigestAlgorithm`](https://docs.lacunasoftware.com/api/Lacuna.Pki/DigestAlgorithm) |  |

**Retorno**

[`bool`](https://learn.microsoft.com/dotnet/api/system.boolean)

---

## Membros herdados

[`ToString()`](https://learn.microsoft.com/dotnet/api/system.object.tostring), [`Equals(object, object)`](<https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)>), [`ReferenceEquals(object, object)`](https://learn.microsoft.com/dotnet/api/system.object.referenceequals), [`GetType()`](https://learn.microsoft.com/dotnet/api/system.object.gettype), [`MemberwiseClone()`](https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone)
