現在の位置: ホーム> 関数カテゴリ一覧> 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。
類似の関数
  • バイナリデータを16進表現に変換します bin2hex

    bin2hex

    バイナリデータを16進表現に変換します
  • 文字列内の各単語の最初の文字を大文字に変換します ucwords

    ucwords

    文字列内の各単語の最初の文字を大文字に変
  • ターゲット文字列の指定された文字列の最後の発生を計算します(ケースの鈍感) strripos

    strripos

    ターゲット文字列の指定された文字列の最後
  • 文字列のメタホンキーを計算します metaphone

    metaphone

    文字列のメタホンキーを計算します
  • バイナリセーフケース非感受性の文字列比較 strcasecmp

    strcasecmp

    バイナリセーフケース非感受性の文字列比較
  • htmlspecialchars()およびhtmlentities()を使用した後、変換テーブルを返します get_html_translation_table

    get_html_translation_table

    htmlspecialchars()およ
  • ロケール情報の設定 setlocale

    setlocale

    ロケール情報の設定
  • 特殊文字をHTMLエンティティに変換します htmlspecialchars

    htmlspecialchars

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