cakephp beforsave - 密码返回随机值

时间:2012-05-11 17:12:39

标签: cakephp cakephp-2.0 encryption

我的模型使用beforeSave(..)来加密一个字段。 它在使用WAMP服务器的PC上工作正常,但是当我将它上传到服务器时,Security :: cipher(..)方法似乎返回随机值。

public function beforeSave() 
{
        if(isset($this->data[$this->alias]['somefield']))
            {
                $key = Configure::read('Security.salt');
                $cipher = Security::cipher($this->data[$this->alias]['somefield'],$key);    
                echo $cipher.'</br>'.$this->data[$this->alias]['somefield'];
                die;            
                $this->data[$this->alias]['somefield'] = $cipher;
            }
            return true;
        }

此代码在我的PC上返回相同的密码和值对,但在服务器上的值相同,但从该值生成的密码是随机的。我发现这篇帖子CakePHP Security::cipher() is not working specifically on server - 我不知道这是不是问题,但是它说cipher()使用了可能被禁用的srand - 我怎么能解决这个问题 - 我无法改变php配置中的任何内容,我只是有ftp访问服务器。

PC上的PHP:5.3.9 服务器上的PHP:5.2.17

1 个答案:

答案 0 :(得分:0)

我发现了这个:http://groups.google.com/group/cake-php/browse_thread/thread/7e6cda2e03a7c54?pli=1它似乎是它的真正的错误,我只是使用了这个人发布的功能,它运作正常。