chengkun
2025-04-29 ab5d7bddae4557b9d56d17f21fc8ca232d7d8693
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<?php
class OpensslCrypt{
    private $key;
    private $iv;
    public function OpensslCrypt($key,$iv = ''){
        $this->key = $key;
        $this->iv  = $iv;
    }
    /**
     * 加密
     */
    public function encrypt($id){
        $id=serialize($id);
        $data['iv']=base64_encode(substr('phpyun45;rencaiwangxcx',0,16));
        $data['value']=openssl_encrypt($id, 'AES-256-CBC',$this->key,0,base64_decode($data['iv']));
        $encrypt=base64_encode(json_encode($data));
        return $encrypt;
    }
    /**
     * 解密
     */
    public function decrypt($encrypt){
        $encrypt = json_decode(base64_decode($encrypt), true);
        $iv = base64_decode($encrypt['iv']);
        $decrypt = openssl_decrypt($encrypt['value'], 'AES-256-CBC', $this->key, 0, $iv);
        $id = unserialize($decrypt);
        if($id){
            return $id;
        }else{
            return 0;
        }
    }
    /**
     * 解密 AES-128-CBC
     */
    public function miniDecrypt($encrypt)
    {
        $decrypt = openssl_decrypt($encrypt,'AES-128-CBC',$this->key,0,$this->iv);
        if($decrypt){
            return $decrypt;
        }else{
            return 0;
        }
    }
}
?>