---
title: "Référence d'API — @nodefony/security — apikey"
source: docs/api/security/apikey.md
url: https://nodefony.github.io/nodefony-core/docs/api/security/apikey/
---


[Documentation](../../../) › [Référence d'API](../../) › [`@nodefony/security`](../) › apikey

> Générée depuis les déclarations de types publiées de `@nodefony/security` **10.0.0-beta.5** : exactement ce que reçoit une application qui l'installe. Cette page n'existe dans aucun dépôt — pour la corriger, on corrige le TSDoc du code.

## `@nodefony/security`

`import { … } from "@nodefony/security"` — 6 symboles.

### Fonctions (4)

#### `generateApiKey`

```ts
function generateApiKey(prefix: string): IGeneratedApiKey
```

Génère une nouvelle clé API cryptographiquement aléatoire.

#### `hashApiKey`

```ts
function hashApiKey(token: string): string
```

Hash au repos d'une clé présentée (token entier) — `sha256` hex.

#### `looksLikeApiKey`

```ts
function looksLikeApiKey(token: string, prefix: string): boolean
```

Test **bon marché** (préfixe seul) — discrimine un PAT d'un JWT à l'`supports()` de l'authenticator, sans calculer le checksum.

#### `parseApiKey`

```ts
function parseApiKey(token: string, prefix: string): IParsedApiKey | null
```

Valide la **forme** d'une clé présentée et en dérive le hash de lookup — **sans aucun accès au store**. Rejette (→ `null`) un préfixe absent, une longueur incorrecte, un charset non base64url ou un **CRC invalide** : autant de requêtes qui n'atteignent jamais la base (anti-DoS).

### Interfaces (2)

#### `IGeneratedApiKey`

```ts
interface IGeneratedApiKey
```

Résultat d'une génération de clé — le `token` n'est disponible qu'ICI (1×).

- `token: string` — Token complet EN CLAIR — à afficher une seule fois, jamais re-dérivable.
- `pubid: string` — Identifiant public (8 car.) — composant de `IGeneratedApiKey.publicPrefix`.
- `publicPrefix: string` — Préfixe public affichable (`<prefix>_<pubid>`) → `record.prefix`.
- `secretHash: string` — Hash au repos (`sha256` hex) → `record.secretHash`.

#### `IParsedApiKey`

```ts
interface IParsedApiKey
```

Décomposition validée d'une clé présentée.

- `pubid: string`
- `publicPrefix: string`
- `secretHash: string` — Hash de lookup (`findByHash`) — `sha256` du token entier présenté.

---

[← Toutes les références d'API](../../)
