現在の位置: ホーム> 関数カテゴリ一覧> crypt

crypt

一方向の文字列ハッシュ
名前:crypt
カテゴリ:
対応言語:php
一言説明:一元配置文字列暗号化方法(ハッシュ)。

この例では、さまざまなアルゴリズムをテストします。

 <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">&#39;Something&#39;</span> <span class="token punctuation">、</span> <span class="token string single-quoted-string">&#39;St&#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">それ以外</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">&#39;Something&#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">それ以外</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">&#39;Something&#39;</span> <span class="token punctuation">、</span> <span class="token string single-quoted-string">&#39;$ 1 $ somethin $&#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">それ以外</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">&#39;Something&#39;</span> <span class="token punctuation">、</span> <span class="token string single-quoted-string">&#39;$ 2a $ 09 $ anexamplestringforsalt $&#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">それ以外</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">&#39;Something&#39;</span> <span class="token punctuation">、</span> <span class="token string single-quoted-string">&#39;$ 5 $ rounds = 5000 $ anexamplestringforsalt $&#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">それ以外</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">&#39;Something&#39;</span> <span class="token punctuation">、</span> <span class="token string single-quoted-string">&#39;$ 6 $ rounds = 5000 $ anexamplestringforsalt $&#39;</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。
類似の関数
  • 文字列の先頭にあるいくつかの文字のバイナリ安全な比較 strncmp

    strncmp

    文字列の先頭にあるいくつかの文字のバイナ
  • CSV文字列を配列に解析します str_getcsv

    str_getcsv

    CSV文字列を配列に解析します
  • ターゲット文字列の指定された文字列の最後の発生を計算します strrpos

    strrpos

    ターゲット文字列の指定された文字列の最後
  • 別の文字列を使用して文字列を長さに埋める str_pad

    str_pad

    別の文字列を使用して文字列を長さに埋める
  • 文字列を小文字に変換します strtolower

    strtolower

    文字列を小文字に変換します
  • 文字列を大文字に変換します strtoupper

    strtoupper

    文字列を大文字に変換します
  • 言語とロケール情報をクエリします nl_langinfo

    nl_langinfo

    言語とロケール情報をクエリします
  • 特殊文字をHTMLエンティティに変換します htmlspecialchars

    htmlspecialchars

    特殊文字をHTMLエンティティに変換しま