menu
ホーム > PHPサンプル > 文字列系 > PHP 文字列を暗号化したい
PHPサンプル

UPDATE:2018年12月17日

PHP 文字列を暗号化したい

PHP4 PHP5 PHP7

openssl_encrypt()
openssl_decrypt()

書式 暗号化
暗号化された文字列 = openssl_encrypt(暗号化する文字列 ,暗号化メソッド, キー);
※メソッドは var_dump(openssl_get_cipher_methods()); で表示
※キーは長い方が良い

書式 復号化
復号化された文字列 = openssl_decrypt(暗号化された文字列 ,暗号化メソッド, キー);
※メソッドは暗号化時と合わせる

サンプル

文字列の暗号化 openssl_encrypt() openssl_decrypt()

openssl_encrypt() は、指定した文字列を指定したキーと暗号化メソッドでエンコードされた文字列を返します。暗号化された文字列は openssl_decrypt() で復号化できます。

書式

書式 暗号化
暗号化された文字列 = openssl_encrypt(暗号化する文字列 ,暗号化メソッド, キー);
※メソッドは var_dump(openssl_get_cipher_methods()); で表示
※キーは長い方が良い

書式 復号化
復号化された文字列 = openssl_decrypt(暗号化された文字列 ,暗号化メソッド, キー);
※メソッドは暗号化時と合わせる

暗号化メソッドは、var_dump(openssl_get_cipher_methods()); で確認できます。キーはなるべく長くした方が安全性が高まります。

サンプルコード

– サンプル Click Here ! –

実行結果
文字列の暗号化と復号化
元の文字列:暗号化する文字列です。
暗号化した文字列:PlkDztCxuf2zUBJ2vVx8wuHJ/QcNftbKv7yh3rWjwkVsoDc8kx3VVejXjsFvRboZ
復号化した文字列:暗号化する文字列です。

– サンプル Click Here ! –

ハッシュ値の作成 ハッシュ関数 crypt() md5() hash() sha1

ハッシュ値はハッシュ関数で生成される要約値(短く纏められた値)です。要約値を比較確認等することで、元のデータが正しいかなどの検証が可能です。ハッシュ値は検索の高速化などにも利用されます。
書式

ハッシュした文字列 = crypt('ハッシュしたい文字列');
※パスワード推奨

ハッシュした文字列 = hash('アルゴリズム', 'ハッシュしたい文字列');
※パスワード推奨
アルゴリズム:print_r(hash_algos());

md5ハッシュした文字列 = md5('ハッシュしたい文字列');
※返り値は32文字の16進数

sha1ハッシュした文字列 = sha1('ハッシュしたい文字列');
※返り値は40文字の16進数

例:

結果は

$1$IA0XzSAv$aeEoacXAYyt8d86MzsA9E/
6bd154870d9fae5e31feb5033d78d9777b2db909
a43c1b0aa53a0c908810c06ab1ff3967
140f86aae51ab9e1cda9b4254fe98a74eb54c1a1

となります。

サンプルコード

– サンプル Click Here ! –

実行結果
文字列の暗号化「crypt()」※パスワードハッシュ推奨
暗号化された文字列:[ $1$eVL1mOz3$2LrikCRBaO5aIuLjU5nDE. ]
ユーザーが入力したパスワードは正しいです。

文字列の暗号化「hash()」※パスワードハッシュ推奨
暗号化された文字列:[ 6bd154870d9fae5e31feb5033d78d9777b2db909 ]
値は等しいです。

文字列の暗号化「md5()」
暗号化された文字列:[ a43c1b0aa53a0c908810c06ab1ff3967 ]
値は等しいです。

文字列の暗号化「sha1()」
暗号化された文字列:[ 140f86aae51ab9e1cda9b4254fe98a74eb54c1a1 ]
値は等しいです。

– サンプル Click Here ! –


タグ(=記事関連ワード)

日付

投稿日:2012年3月4日
最終更新日:2018年12月17日

関連記事

このカテゴリの他のページ

この記事へのコメント

トラックバックurl

https://wepicks.net/phpsample-string-encrypt/trackback/

page top