# Générer des ids uniques et des hashes

> Créez des ids avec UID() et GUID(), et des hashes avec HASH(), et sachez lequel utiliser où.

Framework: total5
Product: Total.js 5 (total5@0.0.19)
Language: fr
Content-SHA256: f15fd37046d2f1ee775227d0c388fac3016e760d0921f503732374fa2e7e0867
Snapshot: c0700e321579725c5cf4f5ace1ad7d2866d1b4f93c24a63c0b41b6b7998e976c
Sources: total5-installed@total5@0.0.19
Review: not-recorded

- `UID()` crée un id unique, court et ordonné dans le temps (12 caractères). Il se trie par date de création et c'est ce que valide le type d'entrée `UID`. Utilisez-le comme clé primaire de vos documents.
- `GUID(length)` crée une chaîne aléatoire de la longueur demandée. Utilisez-le pour les jetons et les noms de fichiers.
- `HASH(value)` renvoie un hash numérique rapide (non cryptographique). Utilisez-le pour les clés de cache, les ETags et le sharding, jamais pour des mots de passe.

```js controllers/ids.js
exports.install = function() {
	ROUTE('GET /ids/', ids);
};

function ids($) {

	var a = UID();
	var b = UID();

	$.json({
		uid: a,
		uidlength: a.length,
		valid: a.isUID(),
		different: a !== b,
		guid: GUID(20),
		sameHash: HASH('total') === HASH('total'),
		otherHash: HASH('total') !== HASH('Total'),
		type: typeof(HASH('total'))
	});
}
```
