php实现基于openssl的加密解密方法
<?php
class
openssl{
private
$key
=
'key'
;
public
$id
=
''
;
function
encrypt(
$id
){
$id
=serialize(
$id
);
$this
->id =
$id
;
$key
=
$this
->key;
$data
[
'iv'
]=
base64_encode
(
substr
(
'fdakinel;injajdji'
,0,16));
$data
[
'value'
]=openssl_encrypt(
$id
,
'AES-256-CBC'
,
$key
,0,
base64_decode
(
$data
[
'iv'
]));
$encrypt
=
base64_encode
(json_encode(
$data
));
return
$encrypt
;
}
function
decrypt(
$encrypt
){
$key
=
$this
->key;
//解密钥匙
$encrypt
= json_decode(
base64_decode
(
$encrypt
), true);
$iv
=
base64_decode
(
$encrypt
[
'iv'
]);
$decrypt
= openssl_decrypt(
$encrypt
[
'value'
],
'AES-256-CBC'
,
$key
, 0,
$iv
);
$id
= unserialize(
$decrypt
);
if
(
$id
){
return
$id
;
}
else
{
return
0;
}
}
}
$obj
=
new
openssl();
$encrypt
=
$obj
->encrypt(
'1'
);
echo
$obj
->decrypt(
$encrypt
);