# `Rivet.Ident.User.PasswordGenerator.Decimal`
[🔗](https://github.com/srevenant/rivet-ident/blob/main/lib/ident/user/password_generator.ex#L4)

# `decode`

```elixir
@spec decode(puid :: String.t()) :: bitstring() | {:error, String.t()}
```

Decode `puid` into representative `bits`.

`puid` must a representative **puid** from this module.

NOTE: `decode/1` is not supported for non-ascii character sets

# `encode`

```elixir
@spec encode(bits :: bitstring()) :: String.t() | {:error, String.t()}
```

Encode `bits` into a `puid`.

`bits` must contain enough bits to create a `puid`. The rest are ignored.

# `generate`

```elixir
@spec generate() :: String.t()
```

Generate a `puid`

# `info`

```elixir
@spec info() :: Puid.Info.t()
```

`Puid.Info` module info

# `risk`

```elixir
@spec risk(total :: float()) :: integer()
```

Approximate **risk** in generating `total` **puid**s

# `total`

```elixir
@spec total(risk :: float()) :: integer()
```

Approximate **total** possible **puid**s at a specified `risk`

---

*Consult [api-reference.md](api-reference.md) for complete listing*
