PHP-Codeigniter字符串加密和解密

时间:2013-04-15 06:00:42

标签: php encryption codeigniter-2 session-cookies

在CI中的一个Web应用程序中,他们曾将COOKIE数据保存为加密形式,并通过解密来检索。它的工作正常,因为“GoDaddy”由于某些安全原因阻止了“base64_encode”(不知道为什么)。这是我得到的错误

A PHP Error was encountered
Severity: Warning
Message: base64_decode() has been disabled for security reasons
Filename: models/extras.php
Line Number: 196

我的加密和解密代码如下。有没有其他方法可以用“base64_encode”来做同样的事情?

function encodeString($str){
  for($i=0; $i<5;$i++)
  {
    $str=strrev(base64_encode($str)); //apply base64 first and then reverse the string
  }
  return $str;
}

function decodeString($str){
  for($i=0; $i<5;$i++)
  {
    $str=base64_decode(strrev($str)); //apply base64 first and then reverse the string}
   }
   return $str;
}

提前致谢

2 个答案:

答案 0 :(得分:1)

为了消除此错误消息,您需要执行以下操作之一:

  • 从php.ini *文件中的disable_functions中删除base64_decode字符串
  • 如果您无法访问php.ini *文件,请让您的托管服务提供商删除上面的字符串
  • 更改允许运行base64_decode功能的托管服务提供商。

答案 1 :(得分:0)

$data =array(           

 'password'    => md5($this->input->post('password')),

);