Hypolite Petovan
0c7fd9a34d
- Upgrading phpseclib/phpseclib (2.0.4 => 2.0.34) - Upgrading singpolyma/openpgp-php (0.3.0 => 0.5.0)
34 lines
825 B
PHP
34 lines
825 B
PHP
<?php
|
|
|
|
if(function_exists('openssl_encrypt')) {
|
|
class OpenSSLWrapper {
|
|
public $cipher, $key, $iv, $key_size, $block_size;
|
|
|
|
|
|
function __construct($cipher) {
|
|
if($cipher != "CAST5-CFB") throw Exception("OpenSSLWrapper is only used for CAST5 right now");
|
|
|
|
$this->cipher = $cipher;
|
|
$this->key_size = 16;
|
|
$this->block_size = 8;
|
|
$this->iv = str_repeat("\0", 8);
|
|
}
|
|
|
|
function setKey($key) {
|
|
$this->key = $key;
|
|
}
|
|
|
|
function setIV($iv) {
|
|
$this->iv = $iv;
|
|
}
|
|
|
|
function encrypt($data) {
|
|
return openssl_encrypt($data, $this->cipher, $this->key, OPENSSL_RAW_DATA|OPENSSL_ZERO_PADDING, $this->iv);
|
|
}
|
|
|
|
function decrypt($data) {
|
|
return openssl_decrypt($data, $this->cipher, $this->key, OPENSSL_RAW_DATA|OPENSSL_ZERO_PADDING, $this->iv);
|
|
}
|
|
}
|
|
}
|