Position actuelle: Accueil> Catégories de fonctions> crypt

crypt

Hachage de cordes unidirectionnel
Nom:crypt
Catégorie:Chaîne
Langage de programmation:php
Description en une ligne:Méthode de cryptage à chaîne unidirectionnelle (hachage).

Exemple

Dans cet exemple, nous testerons différents algorithmes:

 <span class="token php language-php"><span class="token delimiter important"><? Php</span>
<span class="token comment">// Sel à deux caractéristiques</span>
<span class="token keyword">if</span> <span class="token punctuation">(</span> <span class="token constant">crypt_std_des</span> <span class="token operator">==</span> <span class="token number">1</span> <span class="token punctuation">)</span>
<span class="token punctuation">{</span>
<span class="token keyword">Echo</span> <span class="token string double-quoted-string">"Standard DES:"</span> <span class="token operator">.</span> <span class="token function">crypte</span> <span class="token punctuation">(</span> <span class="token string single-quoted-string">«quelque chose»</span> <span class="token punctuation">,</span> <span class="token string single-quoted-string">«st»</span> <span class="token punctuation">)</span> <span class="token operator">.</span> <span class="token string double-quoted-string">"\ n <br>"</span> <span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token keyword">autre</span>
<span class="token punctuation">{</span>
<span class="token keyword">echo</span> <span class="token string double-quoted-string">"standard des non pris en charge. \ n <br>"</span> <span class="token punctuation">;</span>
<span class="token punctuation">}</span>

<span class="token comment">// 4 caractères sel</span>
<span class="token keyword">if</span> <span class="token punctuation">(</span> <span class="token constant">crypt_ext_des</span> <span class="token operator">==</span> <span class="token number">1</span> <span class="token punctuation">)</span>
<span class="token punctuation">{</span>
<span class="token keyword">Echo</span> <span class="token string double-quoted-string">"Extended DES:"</span> <span class="token operator">.</span> <span class="token function">crypte</span> <span class="token punctuation">(</span> <span class="token string single-quoted-string">&#39;quelque chose&#39;</span> <span class="token punctuation">,</span> <span class="token string single-quoted-string">&#39;_s4..some&#39;</span> <span class="token punctuation">)</span> <span class="token operator">.</span> <span class="token string double-quoted-string">"\ n <br>"</span> <span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token keyword">autre</span>
<span class="token punctuation">{</span>
<span class="token keyword">echo</span> <span class="token string double-quoted-string">"étendu des non pris en charge. \ n <br>"</span> <span class="token punctuation">;</span>
<span class="token punctuation">}</span>

<span class="token comment">// 12 caractères commençant par 1 $</span>
<span class="token keyword">if</span> <span class="token punctuation">(</span> <span class="token constant">crypt_md5</span> <span class="token operator">==</span> <span class="token number">1</span> <span class="token punctuation">)</span>
<span class="token punctuation">{</span>
<span class="token keyword">Echo</span> <span class="token string double-quoted-string">"MD5:"</span> <span class="token operator">.</span> <span class="token function">crypte</span> <span class="token punctuation">(</span> <span class="token string single-quoted-string">«quelque chose»</span> <span class="token punctuation">,</span> <span class="token string single-quoted-string">«1 $ quelque chose de $»</span> <span class="token punctuation">)</span> <span class="token operator">.</span> <span class="token string double-quoted-string">"\ n <br>"</span> <span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token keyword">autre</span>
<span class="token punctuation">{</span>
<span class="token keyword">echo</span> <span class="token string double-quoted-string">"md5 non pris en charge. \ n <br>"</span> <span class="token punctuation">;</span>
<span class="token punctuation">}</span>

<span class="token comment">// Salt commençant par 2A $. Paramètres de coût des doubles nombres: 09. 22 caractères</span>
<span class="token keyword">if</span> <span class="token punctuation">(</span> <span class="token constant">crypt_blowfish</span> <span class="token operator">==</span> <span class="token number">1</span> <span class="token punctuation">)</span>
<span class="token punctuation">{</span>
<span class="token keyword">Echo</span> <span class="token string double-quoted-string">"Blowfish:"</span> <span class="token operator">.</span> <span class="token function">crypt</span> <span class="token punctuation">(</span> <span class="token string single-quoted-string">«quelque chose»</span> <span class="token punctuation">,</span> <span class="token string single-quoted-string">«2a $ $ 09 $ anExamplestringforsalt $»</span> <span class="token punctuation">)</span> <span class="token operator">.</span> <span class="token string double-quoted-string">"\ n <br>"</span> <span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token keyword">autre</span>
<span class="token punctuation">{</span>
<span class="token keyword">écho</span> <span class="token string double-quoted-string">"Blowfish des non soutenus. \ n <br>"</span> <span class="token punctuation">;</span>
<span class="token punctuation">}</span>

<span class="token comment">// Sel de 16 caractères commençant par 5 $. Le nombre de circonférence par défaut est de 5000.</span>
<span class="token keyword">if</span> <span class="token punctuation">(</span> <span class="token constant">crypt_sha256</span> <span class="token operator">==</span> <span class="token number">1</span> <span class="token punctuation">)</span>
<span class="token punctuation">{</span>
<span class="token keyword">Echo</span> <span class="token string double-quoted-string">"Sha-256:"</span> <span class="token operator">.</span> <span class="token function">crypt</span> <span class="token punctuation">(</span> <span class="token string single-quoted-string">«quelque chose»</span> <span class="token punctuation">,</span> <span class="token string single-quoted-string">«5 $ rounds = 5000 $ anExamplestringforsalt $»</span> <span class="token punctuation">)</span> <span class="token operator">.</span> <span class="token string double-quoted-string">"\ n <br>"</span> <span class="token punctuation">;</span> <span class="token punctuation">}</span>
<span class="token keyword">autre</span>
<span class="token punctuation">{</span>
<span class="token keyword">echo</span> <span class="token string double-quoted-string">"sha-256 non pris en charge. \ n <br>"</span> <span class="token punctuation">;</span>
<span class="token punctuation">}</span>

<span class="token comment">// Sel de 16 caractères commençant par 5 $. Le nombre de circonférence par défaut est de 5000.</span>
<span class="token keyword">if</span> <span class="token punctuation">(</span> <span class="token constant">crypt_sha512</span> <span class="token operator">==</span> <span class="token number">1</span> <span class="token punctuation">)</span>
<span class="token punctuation">{</span>
<span class="token keyword">Echo</span> <span class="token string double-quoted-string">"SHA-512:"</span> <span class="token operator">.</span> <span class="token function">crypt</span> <span class="token punctuation">(</span> <span class="token string single-quoted-string">«quelque chose»</span> <span class="token punctuation">,</span> <span class="token string single-quoted-string">«6 $ rounds = 5000 $ anExamplestringForsalt $»</span> <span class="token punctuation">)</span> <span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token keyword">autre</span>
<span class="token punctuation">{</span>
<span class="token keyword">Echo</span> <span class="token string double-quoted-string">"SHA-512 non pris en charge".</span> <span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token delimiter important">?></span></span>

La sortie du code ci-dessus (selon le système d'exploitation):

 STANDARD DES: STQADD7ZLBBYI
DES étendu: _S4..Someqxidlbptuu6
MD5: 1 $ Somethin 4 $ nzkruly6r7k7.rdeoz0w.
Blowfish: 2A $ $ $
SHA-256: 5 $ Rounds = 5000 $ anexamplestringf $ kirctqsxo2wrpg5ag / hs4jti4pmonkqugwfxlvy9vu9
SHA-512: 6 $ Rounds = 5000 $ anexamplestringf $ oo0skoadufxkqxjpwzo05wgrhg0dhuapbaou /
onbgpceklf / 7ovm5wn6an0w2vwuga0o24olzgqpp1xki6llq0.
Fonctions similaires