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">에코</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">'무언가'</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는 지원되지 않습니다. \ n <br>"</span> <span class="token punctuation">;</span> <span class="token punctuation">}</span> <span class="token comment">// $ 5 $로 시작하는 16-Character Salt. 둘레의 기본 수는 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-Character Salt. 둘레의 기본 수는 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">Echo</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..SOMEQXIDLBPTUU6 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.