crypt
Einweg-String-Hash
In diesem Beispiel testen wir verschiedene Algorithmen:
<span class="token php language-php"><span class="token delimiter important"><? Php</span> <span class="token comment">// Salz mit zwei Charakter</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">Krypta</span> <span class="token punctuation">(</span> <span class="token string single-quoted-string">'etwas'</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">anders</span> <span class="token punctuation">{</span> <span class="token keyword">echo</span> <span class="token string double-quoted-string">"Standard des nicht unterstützt. \ n <br>"</span> <span class="token punctuation">;</span> <span class="token punctuation">}</span> <span class="token comment">// 4 Zeichen Salz</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">"erweitert Des:"</span> <span class="token operator">.</span> <span class="token function">Krypta</span> <span class="token punctuation">(</span> <span class="token string single-quoted-string">'etwas'</span> <span class="token punctuation">,</span> <span class="token string single-quoted-string">'_S4..some'</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">anders</span> <span class="token punctuation">{</span> <span class="token keyword">echo</span> <span class="token string double-quoted-string">"erweiterte Des nicht unterstützt. \ n <br>"</span> <span class="token punctuation">;</span> <span class="token punctuation">}</span> <span class="token comment">// 12 Zeichen beginnend mit $ 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">Krypta</span> <span class="token punctuation">(</span> <span class="token string single-quoted-string">"etwas"</span> <span class="token punctuation">,</span> <span class="token string single-quoted-string">"$ 1 $ $ the $"</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">anders</span> <span class="token punctuation">{</span> <span class="token keyword">echo</span> <span class="token string double-quoted-string">"md5 nicht unterstützt. \ n <br>"</span> <span class="token punctuation">;</span> <span class="token punctuation">}</span> <span class="token comment">// Salz beginnend mit $ 2A $. Kostenparameter der Doppelzahlen: 09. 22 Zeichen</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">Krypta</span> <span class="token punctuation">(</span> <span class="token string single-quoted-string">'etwas'</span> <span class="token punctuation">,</span> <span class="token string single-quoted-string">'$ 2A $ 09 $ $ AnexampestringForsalt $'</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">anders</span> <span class="token punctuation">{</span> <span class="token keyword">echo</span> <span class="token string double-quoted-string">"Blowfish des nicht unterstützt. \ n <br>"</span> <span class="token punctuation">;</span> <span class="token punctuation">}</span> <span class="token comment">// 16-Charakter-Salz beginnend mit $ 5 $. Die Standardzahl des Umfangs beträgt 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">'etwas'</span> <span class="token punctuation">,</span> <span class="token string single-quoted-string">'$ 5 $ Rounds = 5000 $ AnexampestringForsalt $'</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">anders</span> <span class="token punctuation">{</span> <span class="token keyword">echo</span> <span class="token string double-quoted-string">"SHA-256 nicht unterstützt. \ n <br>"</span> <span class="token punctuation">;</span> <span class="token punctuation">}</span> <span class="token comment">// 16-Charakter-Salz beginnend mit $ 5 $. Die Standardzahl des Umfangs beträgt 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">'etwas'</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">anders</span> <span class="token punctuation">{</span> <span class="token keyword">echo</span> <span class="token string double-quoted-string">"sha-512 nicht unterstützt."</span> <span class="token punctuation">;</span> <span class="token punctuation">}</span> <span class="token delimiter important">?></span></span>
Die Ausgabe des obigen Codes (abhängig vom Betriebssystem):
Standard DES: stqadd7zlbbyi Erweiterte Des: _s4..someqxidlbptuu6 MD5: $ 1 $ etwas $ 4nzkruly6r7k7.rdeoz0w. Blowfish: $ 2a $ 09 $ AnexampestringForSalelouKejcjrlexmf1671qw3kHL49R3DFU SHA-256: $ 5 $ Runden = 5000 $ Anexampestringf $ kirctqsxo2wrpg5AG/HS4JTI4PMONKQUGWFXLVY9VU9 SHA-512: $ 6 $ Runden = 5000 $ Anexampestringf $ oo0Skoadufxkqxjpwzo05wgrhg0dhuapbaou// onbgpceklf/7ovm5wn6an0W2VWUGA0O24OLZGQPP1XKI6llQ0.