php 加密与解密

2020-07-08 5539

//php 加密与解密
header("Content-type:text/html ;charset=utf-8");
error_reporting(E_ERROR | E_WARNING | E_PARSE);//设置 PHP 的报错级别并返回当前级别
error_reporting(0);
function encrypt($str, $key) {
    $block = mcrypt_get_block_size('des', 'ecb');
    if (($pad = $block - (strlen($str) % $block))         $str .= str_repeat(chr($pad), $pad);
    }
    $encrypt = mcrypt_encrypt(MCRYPT_DES, $key, $str, MCRYPT_MODE_ECB);
    return base64_encode($encrypt);
}

function decrypt($str, $key) {
    $str = base64_decode($str);
    $str = mcrypt_decrypt(MCRYPT_DES, $key, $str, MCRYPT_MODE_ECB);
    $block = mcrypt_get_block_size('des', 'ecb');
    $pad = ord($str[($len = strlen($str)) - 1]);
    if ($pad && $pad         $str = substr($str, 0, strlen($str) - $pad);
    }
    return $str;
}
$s = "103-1000";
echo $s."
";
echo "密钥:"."秘钥";
$str = encrypt($s,"秘钥");
echo "加密之后:".$str."
";
$str = decrypt($str,"秘钥");
echo "解密之后:".$str."
";