現在の位置: ホーム> 関数カテゴリ一覧> 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。
類似の関数
  • 8ビット文字列を引用符で印刷可能な文字列に変換します quoted_printable_encode

    quoted_printable_encode

    8ビット文字列を引用符で印刷可能な文字列
  • 数字からシングルバイト文字列を生成します chr

    chr

    数字からシングルバイト文字列を生成します
  • バックスラッシュを使用して文字列をエスケープします addslashes

    addslashes

    バックスラッシュを使用して文字列をエスケ
  • Rtrimのエイリアス chop

    chop

    Rtrimのエイリアス
  • 文字列の最初の文字を小文字に設定します lcfirst

    lcfirst

    文字列の最初の文字を小文字に設定します
  • 文字列の先頭からスペース(または他の文字)を削除します ltrim

    ltrim

    文字列の先頭からスペース(または他の文字
  • 指定された数の文字列に文字列を破壊します wordwrap

    wordwrap

    指定された数の文字列に文字列を破壊します
  • 1次元配列の値を文字列に変換します implode

    implode

    1次元配列の値を文字列に変換します