# Constantes predefinidas

As constantes abaixo são definidas por esta extensão e só estarão disponíveis quando a extensão tiver sido compilada no PHP ou tiver sido carregada dinamicamente em tempo de execução.

Mcrypt pode operar em quatro modos de cifra de bloco (`CBC`, `OFB`, `CFB` e `ECB`). Se vinculado à libmcrypt-2.4.x ou superior, as funções também podem operar no modo de cifra de bloco `nOFB` e no modo `STREAM`. Abaixo você encontra uma lista com todos modos de criptografia suportados juntamente com as constantes que são definidas para o modo de criptografia. Para uma referência mais completa e discussão, consulte Applied Cryptography by Schneier (ISBN 0-471-11709-9).

- `MCRYPT_MODE_ECB` (`electronic codebook`) é um modo de cifra de bloco geralmente inadequado para a maioria dos propósitos. O uso deste modo não é recomendado.
- `MCRYPT_MODE_CBC` (`cipher block chaining`) é um modo de cifra de bloco significativamente mais seguro do que o modo `ECB`.
- `MCRYPT_MODE_CFB` (`cipher feedback, em modo de 8 bits`) é um modo de cifra de fluxo. É recomendado usar o modo `NCFB` em vez de modo `CFB`.
- `MCRYPT_MODE_OFB` (`output feedback, em modo de 8 bits`) é um modo de cifra de fluxo comparável a `CFB`, mas pode ser usado em aplicações onde a propagação de erros não pode ser tolerada. Recomenda-se usar o modo `NOFB` em vez de modo `OFB`.
- `MCRYPT_MODE_NOFB` (`output feedback, em modo n-bit`) é comparável ao modo `OFB`, mas opera no tamanho completo do bloco do algoritmo.
- `MCRYPT_MODE_STREAM` é um modo extra para incluir alguns algoritmos de fluxo como `"WAKE"` ou `"RC4"`.

Mcrypt suporta alguns outros modos de operação para os quais não existem constantes predefinidas. Eles podem ser utilizados passando uma string no lugar das constantes ausentes.

- `"ctr"` (`counter mode`) é um modo de cifra de fluxo.
- `"ncfb"` (`cipher feedback, em modo n-bit`) é comparável ao modo `CFB`, mas opera no tamanho completo do bloco do algoritmo.

Algumas outras constantes de modo e dispositivo aleatório:

`MCRYPT_ENCRYPT` (int)
`MCRYPT_DECRYPT` (int)
`MCRYPT_DEV_RANDOM` (int)
`MCRYPT_DEV_URANDOM` (int)
`MCRYPT_RAND` (int)

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open