Crypt クラス

Crypt クラスにより文字列を暗号化や複号が可能になります。例えば、 Sessions クラスにおいても Crypt クラスが内部で使用されています。

PHPSecLib により提供される暗号化とハッシング関数が使われているため、 mcrypt のような外部モジュールに依存していません。

高度な使用法

Crypt クラスは複数のインスタンスの利用をサポートしています。 複数の暗号化キーセットが必要な場合にこれが有用であることが分かるかもしれません。

静的なメソッドと同じメソッド名を、 Crypt のインスタンスに対しても使用することができます。 それぞれのメソッドの定義についてはクラスの使用法ページを見て下さい。

forge($config = array())

forge メソッドは、Crypt クラスのインスタンスを手動で生成します。

静的 はい
パラメータ
パラメータ デフォルト 説明
$name
null
インスタンスの名前。もしその名前のインスタンスが存在しなければ、新たにフォージ(生成)されます。 名前が渡されなかったときは、デフォルトインスタンスが返されます。
$config
array()
新しく Crypt インスタンスを生成する際に、カスタム設定を渡すことができます。 設定を意味する配列は、crypt 設定ファイルと同様の構造を持っています。 渡された設定内容は、ここで解説されているデフォルトの設定と crypt 設定ファイルにマージされますので、 変更したい設定値だけを渡せばよいです。
返り値 object - 生成された crypt オブジェクト。
// カスタムキー値でクリプトオブジェクトをインスタンス化
$crypt = \Crypt::forge(array(
	'crypto_key' => 'kj$Huhliuh7p*UHHhdas6%#@',
));

// これでいくつかのデータを符号化
$encoded = $crypt->encode('This is a very secure piece of data!');

instance($name = null)

instance メソッドは、名前のついた Crypt クラスのインスタンスを返します。

静的 はい
パラメータ
パラメータ デフォルト 説明
$name
null
インスタンスの名前を渡します。もしその名前のインスタンスがなかった場合は false が返されます。 名前が指定されなかったときはデフォルトのインスタンスが返されます
返り値 mixed - その名前の Crypt インスタンス。存在しなければ false が返ります。
// カスタムキー値でクリプトオブジェクトをインスタンス化
$crypt = \Crypt::instance('custom', array('crypto_key' => 'kj$Huhliuh7p*UHHhdas6%#@'));

// これでいくつかのデータを符号化
$encoded = $crypt->encode('This is a very secure piece of data!');

Crypt クラスの静的メソッドは、デフォルトインスタンスを使用します。 既定のインスタンスの設定を変更した場合はこのことを忘れないで下さい!