class Des
{
private $key;
public function __construct()
{
$this->key = 'xxxxxxxx';
}
public function encrypt($data)
{
// Remove the base64 encoding from our key
$encryption_key = base64_decode($this->key);
// Generate an initialization vector
$iv = openssl_random_pseudo_bytes(openssl_cipher_iv_length('aes-256-cbc'));
// Encrypt the data using AES 256 encryption in CBC mode using our encryption key and initialization vector.
$encrypted = openssl_encrypt($data, 'aes-256-cbc', $encryption_key, 0, $iv);
// The $iv is just as important as the key for decrypting, so save it with our encrypted data using a unique separator (::)
return base64_encode($encrypted . '::' . $iv);
}
//
public function decrypt($encrypted)
{
// Remove the base64 encoding from our key
$encryption_key = base64_decode($this->key);
// To decrypt, split the encrypted data from our IV - our unique separator used was "::"
list($encrypted_data, $iv) = explode('::', base64_decode($encrypted), 2);
return openssl_decrypt($encrypted_data, 'aes-256-cbc', $encryption_key, 0, $iv);
}
}
DES 加密解密
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- /// 工程中只需把下面的2个方法拖进去,然后就可以调用,且需要导入头文件#import"GTMBase64.h"...
- 刚来的时候公司网络数据传输都是用的明文,这两天说要加密传输就研究了一下des对称加密和rsa非对称加密两种加密方式...