Mcrypt拓展的带密钥PHP加密和解密算法

mcrypt的优点不仅仅在于其提供的加密算法较多,在windows下随PHP包一起发布,还在于它可以对数据进行加/解密处理,此外,它还提供了包括DES算法在内的35种处理数据用的函数。

/**
 * Mcrypt 加密/解密
 * @param type $date 要加密和解密的数据
 * @param type $key 密钥
 * @param type $mode  encode 默认为加密/decode 为解密
 * @return type
 */
function authCrypt($date, $key , $mode = 'encode') {
    if ($mode == 'decode') {
        $date = base64_decode($date);
    }
    if (function_exists('mcrypt_create_iv')) {
        $iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB);
        $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
    }
    if (isset($iv) && $mode == 'encode') {
        $passcrypt = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $key, $date, MCRYPT_MODE_ECB, $iv);
    } elseif (isset($iv) && $mode == 'decode') {
        $passcrypt = mcrypt_decrypt(MCRYPT_RIJNDAEL_256, $key, $date, MCRYPT_MODE_ECB, $iv);
    }
    if ($mode == 'encode') {
        $passcrypt = base64_encode($passcrypt);
    }
    return $passcrypt;
}

关键词: mcrypt , 解密算法 , php加密

上一篇: Mysql实现文章查询上一篇和下一篇功能,附sql语句?
下一篇: PHPCMS V9远程附件上传的一个FTP上传处理类

目前还没有人评论,您发表点看法?
发表评论

评论内容 (必填):