# Genera ids únicos y hashes

> Crea ids con UID() y GUID(), y hashes con HASH(), y sabe cuál usar en cada caso.

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

- `UID()` crea un id único, corto y ordenado por tiempo (12 caracteres). Se ordena por fecha de creación y es lo que valida el tipo de entrada `UID`. Úsalo como clave primaria de tus documentos.
- `GUID(length)` crea una cadena aleatoria de la longitud pedida. Úsalo para tokens y nombres de fichero.
- `HASH(value)` devuelve un hash numérico rápido (no criptográfico). Úsalo para claves de caché, ETags y sharding, nunca para contraseñas.

```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'))
	});
}
```
