PHPackages                             jvizcaya/encodid - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. jvizcaya/encodid

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

jvizcaya/encodid
================

Laravel helpers for encode id

v0.0.4(4y ago)1319MITPHPPHP ^7.2|^8.0

Since Jun 3Pushed 4y ago1 watchersCompare

[ Source](https://github.com/jvizcaya/encodid)[ Packagist](https://packagist.org/packages/jvizcaya/encodid)[ RSS](/packages/jvizcaya-encodid/feed)WikiDiscussions master Synced today

READMEChangelog (4)Dependencies (1)Versions (5)Used By (0)

Encodid (Laravel helpers for encode id)
=======================================

[](#encodid-laravel-helpers-for-encode-id)

**Encodid** Agrega helpers para Laravel 5.7+ para codificar y decodificar números enteros, permitiendo de esta manera generar cadenas de texto únicas y no secuenciales a partir del ID de nuestras tablas, de esta manera podemos mostrar la cadena generada en las rutas (URL) publicas en lugar del valor original, con esto las rutas pueden ser menos predecibles agregando de esta manera una capa extra de seguridad a nuestras aplicaciones.

Encodid hace uso de la librería para PHP [Hashids](https://github.com/ivanakimov/hashids.php), para codificar y decodificar los valores de ids, y esta inspirado en el paquete para Laravel [laravel-hashids](https://github.com/vinkla/laravel-hashids).

Instalación
-----------

[](#instalación)

```
composer require jvizcaya/encodid

```

Modo de uso
-----------

[](#modo-de-uso)

Una vez ha sido instalado el paquete correctamente los helpers estarán disponibles en cualquier parte de la aplicación.

### Codificar valores

[](#codificar-valores)

Para generar la cadena codificada a partir del valor del ID, hacemos uso del helper **`encodeId()`** al cual debemos pasar como parámetro el valor del id a codificar.

```
  $id = 347;
  $encode_id = encodeId($id); // 3kTMdQl1zu
```

Podemos hacer uso del helper **`encodeId()`** en nuestras vistas o crear un [Eloquent Accessor](https://laravel.com/docs/5.8/eloquent-mutators#defining-an-accessor) personalizado a nuestros modelos.

```
namespace App;

use Illuminate\Database\Eloquent\Model;

class Post extends Model
{

    /**
     * Model Accessors.
     *
     *
     */
     public function getEncodeidAttribute()
     {
         return encodeId($this->id);
     }
}
```

De esta manera tenemos disponible el valor de la cadena codificada desde el propio objeto del modelo.

```
  $post->encode_id;  // LkTM1Ql1Xa
```

De forma opcional podemos generar una cadena codificada a partir de un array de ids con el helper **`encodeIds()`**

```
  $ids = [14, 36, 89];
  $encode_ids = encodeIds($ids); // o2fXhVWKlu
```

### Decodificar valores

[](#decodificar-valores)

Para recuperar el valor original del id de la cadena codificada hacemos uso del helper **`decodeId()`** al cual debemos pasar como parámetro el valor de la cadena codificada.

```
  $encode_id = '3kTMdQl1zu';
  $id = decodeId($encode_id); // 347
```

El helper **`decodeIds()`** nos permite recupera el valor original de un array de ids codificados anteriormente con la función **`encodeIds()`**.

```
  $encode_ids = 'o2fXhVWKlu';
  $ids = decodeIds($encode_ids); // [14, 36, 89]
```

En ocasiones nos podemos encontrar la necesidad de decodificar un array cadenas codificadas, para este caso podemos hacer uso del helper **`decodeArrayIds()`**.

```
  $encode_ids = [o2fXhVWKlu, uLkmPqwr1u, QP13YuOp7T];
  $ids = decodeArrayIds($encode_ids); // [42, 1935, 5456]
```

Configuración
-------------

[](#configuración)

Podemos configurar la manera en que se codifica el id o array de ids, publicando al archivo de configuración.

```
php artisan vendor:publish --provider="Jvizcaya\Encodid\EncodidServiceProvider"

```

Esto creara el archivo **encodid.php** dentro del directorio **config**, luego de esto podemos cambiar las siguientes parametros de configuración.

**salt\_string** La cadena sal que sera utilizada por la librería hashids para la codificación.

**length** La longitud de la cadena codificada.

**format\_string** Patrón alfanumérico con los caracteres que pueden estar presente en la cadena codificada.

---

License
-------

[](#license)

[MIT](LICENSE) © Jorge Vizcaya |

###  Health Score

28

—

LowBetter than 52% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity16

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity58

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~317 days

Total

4

Last Release

1637d ago

PHP version history (2 changes)v0.0.1PHP ^7.2

v0.0.4PHP ^7.2|^8.0

### Community

Maintainers

![](https://www.gravatar.com/avatar/f01b29b53f6763c88249f798602845af303401316a0922a5fea86ce58bcf90b1?d=identicon)[jvizcaya](/maintainers/jvizcaya)

---

Top Contributors

[![jvizcaya](https://avatars.githubusercontent.com/u/15002352?v=4)](https://github.com/jvizcaya "jvizcaya (6 commits)")

---

Tags

decodeencodehashidshelpersidlaravellaravelhelpermodelencodehashids

### Embed Badge

![Health badge](/badges/jvizcaya-encodid/health.svg)

```
[![Health](https://phpackages.com/badges/jvizcaya-encodid/health.svg)](https://phpackages.com/packages/jvizcaya-encodid)
```

###  Alternatives

[vinkla/hashids

A Hashids bridge for Laravel

2.1k14.2M78](/packages/vinkla-hashids)[deligoez/laravel-model-hashid

Generate, Save, and Route Stripe/Youtube-like Hash IDs for Laravel Eloquent Models

166114.2k](/packages/deligoez-laravel-model-hashid)[solspace/craft-freeform

The most flexible and user-friendly form building plugin!

54681.3k19](/packages/solspace-craft-freeform)[torann/hashids

Laravel package for Hashids

54343.7k](/packages/torann-hashids)[balping/laravel-hashslug

Package providing a trait to use Hashids on a model

25191.7k2](/packages/balping-laravel-hashslug)[jiaxincui/hashid

Laravel ID Encrypt Helper

2412.3k](/packages/jiaxincui-hashid)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
