/** * Generate a private key per session and store in session. * * @return string * private key for this session */ public static function privateKey() { if (!self::$_key) { $session = CRM_Core_Session::singleton(); self::$_key = $session->get('qfPrivateKey'); if (!self::$_key) { self::$_key = md5(uniqid(mt_rand(), TRUE)) . md5(uniqid(mt_rand(), TRUE)); $session->set('qfPrivateKey', self::$_key); } } return self::$_key; }