Como usar a função crypt () em PHP

Como Usar A Funcao Crypt Em Php



O cripta() A função em PHP é uma ferramenta útil para criptografia usada para criar um hash da string fornecida usando algoritmos de hash, como DES padrão, DES estendido, MD5, Blowfish, SHA-256 e SHA-512. Esta função é usada para hash unidirecional e criptografia de strings. Leva dois argumentos: a string a ser hash e um valor salt opcional, que é usado para adicionar complexidade ao processo de hash e torná-lo mais seguro.

Em vários sistemas operacionais, essa função se comporta de maneira diferente. Durante a instalação, o PHP examina os algoritmos disponíveis e recomendados. Esta função está incluída no PHP versão 4 e posterior e aceita um parâmetro obrigatório e um opcional.

Sintaxe

Uma sintaxe simples seguida pelo cripta() função é dada abaixo:









cripta ( $str , $ sal )

A função aceita dois parâmetros:



  • $str: Este parâmetro é uma string que você deseja criptografar. Essa string pode ficar truncada durante a geração de hash, o que significa que não levará em consideração toda a string com base no tipo de hash.
  • $sal: Este parâmetro é usado para selecionar o método de hash.

Esta função retornará uma string criptografada.



Como usar a função crypt () em PHP?

O cripta() a função em PHP pode ser usada com diferentes algoritmos de hash criptográficos para criptografar uma string; aqui estão alguns exemplos de como usar cripta() com diferentes algoritmos de hash:





Vamos explicar esses métodos em detalhes.

1: Usando CRYPT_STD_DES

O CRYPT_STD_DES é um dos algoritmos de hash suportados pelo cripta() função em PHP que usa o DES padrão (padrão de criptografia de dados) algoritmo para criptografia. ao usar CRYPT_STD_DES , você precisa fornecer um valor salt de dois caracteres como o segundo argumento para o cripta() função. O valor salt especifica a variação de chave e a complexidade do processo de criptografia.



Por exemplo:



se ( CRYPT_STD_DES == 1 ) {

eco 'DES padrão: ' . cripta ( 'bem-vindo ao linuxhint' , 'str' ) . ' \n ' ;

} outro {

eco 'Não suporta DES padrão. \n ' ;

}

?>

2: Usando CRYPT_EXT_DES

O CRYPT_EXT_DES é outro algoritmo de hash suportado pelo cripta() função que utiliza o DES Estendido (Padrão de Criptografia de Dados) algoritmo para criptografia. DES estendido é uma extensão do algoritmo DES original, fornecendo um espaço de chave maior e segurança aprimorada.

Usar CRYPT_EXT_DES , você precisa fornecer um valor salt que comece com _J9 seguido de caracteres adicionais.

Por exemplo:



se ( CRYPT_EXT_DES == 1 ) {

eco 'DES Estendido: ' . cripta ( 'bem-vindo ao linuxhint' , '_J9..dutta' ) . ' \n ' ;

} outro {

eco 'Não suporta DES Estendido. \n ' ;

}

?>

3: Usando CRYPT_MD5

O CRYPT_MD5 é um dos algoritmos de hash suportados pelo cripta() função em PHP que utiliza o MD5 (algoritmo de resumo de mensagem 5 produz um valor de hash de 128 bits (16 bytes) ) algoritmo para criptografia.

Usar CRYPT_MD5 , você precisa fornecer um valor salt que comece com $1$ seguido de alguns caracteres.

Por exemplo:



se ( CRYPT_MD5 == 1 ) {

eco 'MD5: ' . cripta ( 'bem-vindo ao linuxhint' , '$1$tentando$' ) . ' \n ' ;

} outro {

eco 'Não suporta MD5. \n ' ;

}

?>

4: Usando CRYPT_BLOWFISH

O CRYPT_BLOWFISH é um algoritmo de hash amplamente recomendado suportado pelo cripta() função em PHP que utiliza o algoritmo Blowfish para criptografia. Blowfish é uma cifra de bloco de chave simétrica conhecida por sua forte segurança. Usar CRYPT_BLOWFISH , você precisa fornecer um valor salt, que começa com $ 2 anos $ ou $2a$ , seguido por um parâmetro de custo de dois dígitos e, em seguida, o valor real do sal.

Por exemplo:



se ( CRYPT_BLOWFISH == 1 ) {

eco 'Baiacu:' .

cripta ( 'bem-vindo ao linuxhint' , '$2y$12$mkstringexforsaltparam' ) .

' \n ' ;

} outro {

eco 'Não suporte Blowfish. \n ' ;

}

?>

5: Usando CRYPT_SHA256

Outro algoritmo de hash suportado pelo cripta() função é a CRYPT_SHA256 que usa o algoritmo SHA-256 (produz um valor de hash de 256 bits (32 bytes)) para criptografia. Usar CRYPT_SHA256 , você precisa fornecer um valor salt, que começa com $5$ , seguido por um parâmetro de custo de dois dígitos e, em seguida, o valor real do sal

Por exemplo:



se ( CRYPT_SHA256 == 1 ) {

eco 'SHA-256: ' .

cripta ( 'bem-vindo ao linuxhint' , '$5$mkstringexforsaltparam$' ) .

' \n ' ;

} outro {

eco 'Não suporta SHA256. \n ' ;

}

?>

6: Usando CRYPT_SHA512

O CRYPT_SHA512 é outro algoritmo de hash útil suportado pelo cripta() função em PHP que utiliza o SHA-512 algoritmo para criptografia. SHA-512 é uma função de hash criptográfica amplamente usada que gera um valor de hash de 512 bits (64 bytes). Usar CRYPT_SHA512 , você precisa fornecer um valor salt, que começa com $6$ , seguido por um parâmetro de custo de dois dígitos e, em seguida, o valor real do sal

Por exemplo:



se ( CRYPT_SHA512 == 1 ) {

eco 'SHA-512: ' .

cripta ( 'bem-vindo ao linuxhint' , '$6$mkstringexforsaltparam$' ) .

' \n ' ;

} outro {

eco 'Não suporta SHA-512. \n ' ;

}

?>

Conclusão


o PHP cripta() A função pode criptografar strings com hash e é uma técnica criptográfica unidirecional que suporta o algoritmo especificado. Por permitir apenas a criptografia e não a descriptografia, é chamado de algoritmo unidirecional. Esta função aceita um parâmetro obrigatório e um opcional e retorna uma string criptografada. Este guia implementou a função PHP crypt usando CRYPT_STD_DES, CRYPT_EXT_DES, CRYPT_MD5, CRYPT_BLOWFISH, CRYPT_SHA256 , e, CRYPT_SHA512 algoritmos.