* 解密 */
($encrypted)
| 71 | * 解密 |
| 72 | */ |
| 73 | function decrypt($encrypted){ |
| 74 | $encrypted = base64_decode($encrypted); //如需转换二进制可改成 bin2hex 转换 |
| 75 | $key = str_pad($this->key,8,'0'); //3DES加密将8改为24 |
| 76 | $td = mcrypt_module_open(MCRYPT_DES,'',MCRYPT_MODE_CBC,'');//3DES加密将MCRYPT_DES改为MCRYPT_3DES |
| 77 | if( $this->iv == '' ) |
| 78 | { |
| 79 | $iv = @mcrypt_create_iv (mcrypt_enc_get_iv_size($td), MCRYPT_RAND); |
| 80 | } |
| 81 | else |
| 82 | { |
| 83 | $iv = $this->iv; |
| 84 | } |
| 85 | $ks = mcrypt_enc_get_key_size($td); |
| 86 | @mcrypt_generic_init($td, $key, $iv); |
| 87 | $decrypted = mdecrypt_generic($td, $encrypted); |
| 88 | mcrypt_generic_deinit($td); |
| 89 | mcrypt_module_close($td); |
| 90 | $y=$this->pkcs5_unpad($decrypted); |
| 91 | return $y; |
| 92 | } |
| 93 | function pkcs5_pad ($text, $blocksize) { |
| 94 | $pad = $blocksize - (strlen($text) % $blocksize); |
| 95 | return $text . str_repeat(chr($pad), $pad); |
no test coverage detected