用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字
云代码 - php代码库

php COOKIE加密函数 (按位求ascii编码 乘key)

2014-11-28 作者: php源代码大全举报

[php]代码库

define ("DOMAIN", "54dev.com");
define ("PATH", "/");
define ("COOKIEID", "encodeCookie");
define ("COOKIEKEY", "raz"); // max 5 chars is good

/**
* class encodeCookie
*
* encode cookies before you send them
*
*/
class encodeCookie {
/**
* encodeCookie::$config
*
* configuration
*
*/
    var $config;

/**
* encodeCookie::encodeCookie()
*
* constructor
*
*/
function encodeCookie () {
    $this->config = array ();
    $this->config['cookie_key'] = COOKIEKEY;
    $this->config['cookie'] = array (
                'cookie_id'             =>   COOKIEID,
                'cookie_path'           =>   PATH,
                'cookie_domain'         =>   DOMAIN,
    );
}

/**
* encodeCookie::set_Cookie()
*
* sets the cookie
*
* @param string $value
* @param integer $sticky
*/
function set_Cookie ($name, $value = "", $sticky = 0) {

    $exipres = "";

    if ($sticky == 1) {
        $expires = time() + 60*60*24*365;
    }

    $name = $this->config['cookie']['cookie_id'].$name;
    $newValue = $this->encodeC ($value);

    @setcookie($name, urlencode($newValue), $expires, $this->config['cookie']['cookie_path'], $this->config['cookie']['cookie_domain']);
}

/**
* encodeCookie::get_Cookie()
*
* gets the cookie
*
*/
function get_Cookie ($name) {

    if ( isset( $_COOKIE[$this->config['cookie']['cookie_id'].$name] ) ) {
        $cookie = urldecode ( $_COOKIE[$this->config['cookie']['cookie_id'].$name] );
        return $this->decodeC ($cookie);
    } else {
        return FALSE;
    }

}

/**
* encodeCookie::encodeC()
*
* encodes the cookie
*
*/
function encodeC ($cookie) {

    $newcookie = array ();
    $cookie = base64_encode ($cookie);

    for ( $i=0; $i<=strlen ($cookie); $i++ ) {
        $newcookie[ $i ] = ord ( $cookie[ $i ] ) * $this->encodeKey ();
    }

    $newcookie = implode ('.', $newcookie);

return $newcookie;
}

/**
* encodeCookie::decodeC()
*
* decodes the cookie
*
*/
function decodeC ($oldcookie) {

    $newcookie = array ();
    $cookie = explode ('.', $oldcookie);

    for ( $i=0; $i<=strlen ($oldcookie); $i++ ) {
        $newcookie[ $i ] = chr ( $cookie[ $i ] / $this->encodeKey () );
    }

    $newcookie = implode ('', $newcookie);
    $newcookie = base64_decode ($newcookie);

return $newcookie;
}

/**
* encodeCookie::encodeKey()
*
* encodes the key
*
*/
function encodeKey () {
    $newkey = 0;
    for ( $i=0; $i<=strlen ( $this->config['cookie_key'] ); $i++ ) {
        $newkey += ord ( $this->config['cookie_key'][ $i ] );
    }
return $newkey;
}

}



网友评论    (发表评论)


发表评论:

评论须知:

  • 1、评论每次加2分,每天上限为30;
  • 2、请文明用语,共同创建干净的技术交流环境;
  • 3、若被发现提交非法信息,评论将会被删除,并且给予扣分处理,严重者给予封号处理;
  • 4、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。


扫码下载

加载中,请稍后...

输入口令后可复制整站源码

加载中,请稍后...