cryptomute
version requirements
一個小型 PHP 類,透過 Feistel 網路實現格式保留加密。
您可以透過 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 | 不 |
鍵是第二個建構函數參數。所有輪密鑰均從中派生的基本密鑰。
Rounds 是第三個建構子參數。必須是大於或等於 3 的奇數。建議值至少為 7。
$minValue
, $maxValue
)設定最小值和最大值。如果結果超出範圍,它將被重新加密(或重新解密),直到輸出在範圍內。
$plainValue
, $base
, $pad
, $password
, $iv
)加密資料。採用以下參數:
$plainValue
(string) 輸入要加密的數據$base
(int) 輸入資料庫,接受的值為2(二進位)、10(十進位)或16(十六進位)$pad
(bool) 填滿左側輸出以符合$maxValue
的長度?$password
(字串) 加密密碼$iv
(字串)初始化向量 - 僅當密碼需要時$cryptValue
, $base
, $pad
, $password
, $iv
)解密資料。採用以下參數:
$cryptValue
(string) 要解密的輸入數據$base
(int) 輸入資料庫,接受的值為2(二進位)、10(十進位)或16(十六進位)$pad
(bool) 填滿左側輸出以符合$maxValue
的長度?$password
(字串) 加密密碼$iv
(字串)初始化向量 - 僅當密碼需要時cryptomute根據 MIT 許可證 (MIT) 獲得許可。