您的位置:首页 > 编程语言 > PHP开发

php加密函数和解密函数,原字符串输出

2017-06-01 17:57 411 查看
/* 

*功能:对字符串进行加密处理 

*参数一:需要加密的内容 

*参数二:密钥 
*/ 

$key可以写到config里面。假如$key='baidu';而我们需要加密存在cookie里面的字符串是$data='xiaoming';(当然$data可以是数组)。

function encrypt($data, $key) {

    $prep_code = serialize($data);

    $block = mcrypt_get_block_size('des', 'ecb');

    if (($pad = $block - (strlen($prep_code) % $block)) < $block) {

    $prep_code .= str_repeat(chr($pad), $pad);

    }

    $encrypt = mcrypt_encrypt(MCRYPT_DES, $key, $prep_code, 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 < $block && preg_match('/' . chr($pad) . '{' . $pad . '}$/', $str)) {

    $str = substr($str, 0, strlen($str) - $pad);

    }

    return unserialize($str);
}

此处return的就是加密函数输入的$data变量,即xiaoming
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: