cakephp beforsave - 密码返回随机值

Posted

技术标签:

【中文标题】cakephp beforsave - 密码返回随机值【英文标题】:cakephp beforsave - cipher returns random value 【发布时间】:2012-05-11 17:12:38 【问题描述】:

我有使用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】:

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

【讨论】:

以上是关于cakephp beforsave - 密码返回随机值的主要内容,如果未能解决你的问题,请参考以下文章

cakephp 2.0 中的忘记密码功能

CakePHP如何在外部生成其密码

CakePHP 3 & Mercury:SMTP 服务器不接受密码

CakePHP2:JWT Auth 的 CORS 预检问题

php [cakephp:MediaController]用文件二进制文件返回cake的响应对象。 #cakephp

cakephp 保存返回 true 但不保存