1
0
Fork 0
mirror of synced 2024-05-20 20:52:36 +12:00
appwrite/src/Appwrite/OpenSSL/OpenSSL.php
2021-10-06 14:07:23 +02:00

63 lines
1.4 KiB
PHP

<?php
namespace Appwrite\OpenSSL;
class OpenSSL
{
public const CIPHER_AES_128_GCM = 'aes-128-gcm';
/**
* @param $data
* @param $method
* @param $key
* @param int $options
* @param string $iv
* @param null $tag
* @param string $aad
* @param int $tag_length
*
* @return string
*/
public static function encrypt($data, $method, $key, $options = 0, $iv = '', &$tag = null, $aad = '', $tag_length = 16)
{
return \openssl_encrypt($data, $method, $key, $options, $iv, $tag, $aad, $tag_length);
}
/**
* @param $data
* @param $method
* @param $password
* @param int $options
* @param string $iv
* @param string $tag
* @param string $aad
*
* @return string
*/
public static function decrypt($data, $method, $password, $options = 1, $iv = '', $tag = '', $aad = '')
{
return \openssl_decrypt($data, $method, $password, $options, $iv, $tag, $aad);
}
/**
* @param string $method
*
* @return int
*/
public static function cipherIVLength($method)
{
return \openssl_cipher_iv_length($method);
}
/**
* @param $length
* @param null $crypto_strong
*
* @return false|string
*/
public static function randomPseudoBytes($length, &$crypto_strong = null)
{
return \openssl_random_pseudo_bytes($length, $crypto_strong);
}
}