cryptomute
version requirements
Feistel Network 経由でフォーマット保持暗号化を実装する小さな PHP クラス。
Composer 経由でcryptomuteインストールできます (packagist には loostro/ cryptomuteパッケージがあります)。あなたのcomposer.json
ファイルで以下を使用してください:
{
"require" : {
"loostro/ cryptomute " : " ^1.0 "
}
}
そして、 php composer.phar install
を実行します。その後、オートローダーを要求し、 cryptomute使用できます。
require_once ' vendor/autoload.php ' ;
use cryptomute cryptomute ;
$ cryptomute = new cryptomute (
' aes-128-cbc ' , // cipher
' 0123456789zxcvbn ' , // base key
7 , // number of rounds
);
$ password = ' 0123456789qwerty ' ;
$ iv = ' 0123456789abcdef ' ;
$ plainValue = ' 2048 ' ;
$ encoded = $ cryptomute -> encrypt ( $ plainValue , 10 , false , $ password , $ iv );
$ decoded = $ cryptomute -> decrypt ( $ encoded , 10 , false , $ password , $ iv );
var_dump ([
' plainValue ' => $ plainValue ,
' encoded ' => $ encoded ,
' decoded ' => $ decoded ,
]);
array(3) {
["plainValue"]=>
string(4) "2048"
["encoded"]=>
string(9) "309034283"
["decoded"]=>
string(4) "2048"
}
Cipher はコンストラクターの最初の引数です。サポートされている暗号化方式は次のとおりです。
暗号 | Ⅳ |
---|---|
des-cbc | はい |
aes-128-cbc | はい |
aes-128-ecb | いいえ |
aes-192-cbc | はい |
aes-192-ecb | いいえ |
camellia-128-cbc | はい |
camellia-128-ecb | いいえ |
camellia-192-cbc | はい |
camellia-192-ecb | いいえ |
Key はコンストラクターの 2 番目の引数です。すべてのラウンド キーの派生元となるベース キー。
Rounds は 3 番目のコンストラクター引数です。 3 以上の奇数の整数である必要があります。ラウンド数が多いほど安全ですが、速度も遅くなります。推奨値は 7 以上です。
$minValue
, $maxValue
)最小値と最大値を設定します。結果が範囲外の場合、出力が範囲内になるまで再暗号化 (または再復号化) されます。
$plainValue
, $base
, $pad
, $password
, $iv
)データを暗号化します。次の引数を受け取ります。
$plainValue
(文字列) 暗号化される入力データ$base
(int) 入力データベース。受け入れられる値は 2 (2 進数)、10 (10 進数)、または 16 (16 進数) です。$pad
(bool) $maxValue
の長さに一致するように出力を左に埋め込みますか?$password
(文字列) 暗号化パスワード$iv
(文字列) 初期化ベクトル - 暗号で必要な場合のみ$cryptValue
, $base
, $pad
, $password
, $iv
)データを復号化します。次の引数を受け取ります。
$cryptValue
(文字列) 復号化する入力データ$base
(int) 入力データベース。受け入れられる値は 2 (2 進数)、10 (10 進数)、または 16 (16 進数) です。$pad
(bool) $maxValue
の長さに一致するように出力を左に埋め込みますか?$password
(文字列) 暗号化パスワード$iv
(文字列) 初期化ベクトル - 暗号で必要な場合のみcryptomute 、MIT ライセンス (MIT) に基づいてライセンスされています。