crypt
一方向の文字列ハッシュ
この例では、さまざまなアルゴリズムをテストします。
<span class="token php language-php"><span class="token delimiter important"><?php</span> <span class="token comment">// 2文字の塩</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">エコー</span><span class="token string double-quoted-string">「標準DES:」</span> <span class="token operator">。</span> <span class="token function">Crypt</span> <span class="token punctuation">(</span> <span class="token string single-quoted-string">'Something'</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">それ以外</span> <span class="token punctuation">{</span> <span class="token keyword">Echo</span> <span class="token string double-quoted-string">"標準DESサポートされていない。\ n <br>"</span> <span class="token punctuation">;</span> <span class="token punctuation">}</span> <span class="token comment">// 4文字の塩</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">"拡張des:"</span> <span class="token operator">。</span> <span class="token function">Crypt</span> <span class="token punctuation">(</span> <span class="token string single-quoted-string">'Something'</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">それ以外</span> <span class="token punctuation">{</span> <span class="token keyword">echo</span> <span class="token string double-quoted-string">"拡張されたdesはサポートされていません。\ n <br>"</span> <span class="token punctuation">;</span> <span class="token punctuation">}</span> <span class="token comment">// $ 1 $から始まる12文字</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">エコー</span><span class="token string double-quoted-string">"md5:"</span> <span class="token operator">。</span> <span class="token function">Crypt</span> <span class="token punctuation">(</span> <span class="token string single-quoted-string">'Something'</span> <span class="token punctuation">、</span> <span class="token string single-quoted-string">'$ 1 $ somethin $'</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">それ以外</span> <span class="token punctuation">{</span> <span class="token keyword">echo</span> <span class="token string double-quoted-string">"md5サポートされていない。\ n <br>"</span> <span class="token punctuation">;</span> <span class="token punctuation">}</span> <span class="token comment">// $ 2A $から始まる塩。ダブル番号のコストパラメーター:09。22文字</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">エコー</span><span class="token string double-quoted-string">「ブローフィッシュ:」</span> <span class="token operator">。</span> <span class="token function">Crypt</span> <span class="token punctuation">(</span> <span class="token string single-quoted-string">'Something'</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">それ以外</span> <span class="token punctuation">{</span> <span class="token keyword">echo</span> <span class="token string double-quoted-string">"blowfish des not supported。\ n <br>"</span> <span class="token punctuation">;</span> <span class="token punctuation">}</span> <span class="token comment">// $ 5 $から始まる16文字の塩。円周のデフォルト数は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">エコー</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">'Something'</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">それ以外</span> <span class="token punctuation">{</span> <span class="token keyword">echo</span> <span class="token string double-quoted-string">"sha-256サポートされていない。\ n <br>"</span> <span class="token punctuation">;</span> <span class="token punctuation">}</span> <span class="token comment">// $ 5 $から始まる16文字の塩。円周のデフォルト数は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">エコー</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">'Something'</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">それ以外</span> <span class="token punctuation">{</span> <span class="token keyword">エコー</span><span class="token string double-quoted-string">「Sha-512はサポートされていません。」</span> <span class="token punctuation">;</span> <span class="token punctuation">}</span> <span class="token delimiter important">?></span></span>
上記のコードの出力(オペレーティングシステムに応じて):
標準DES:stqadd7zlbbyi 拡張DES:_S4..ESOMEQXIDLBPTUU6 md5:$ 1 $ somethin $ 4nzkruly6r7k7.rdeoz0w。 Blowfish:$ 2a $ 09 $ anexamplestringforsaleloukejcjrlexmf1671qw3khl49r3dfu Sha-256:$ 5 $ rounds = 5000 $ anexamplestringf $ kirctqsxo2wrpg5ag/hs4jti4pmonkqugwfxlvy9vu9 Sha-512:$ 6 $ rounds = 5000 $ anexamplestringf $ oo0skoadufxkqxjpwzo05wgrhg0dhuapbaou/ onbgpceklf/7ovm5wn6an0w2vwuga0o24olzgqpp1xki6llq0。