thinkphp加密函数
1. thinkphp无法使用md5加密 array('password','md5',1,'funct
我记得thinkPHP里有自己的加密的函数的,你看看手册吧,要不就是你参数给的不对
2. thinkphp数据库配置信息加密怎么处理
今天有一个朋友问我thinkphp的这个问题,刚好网络搜索到你这个问题。已经解决。就帮你解答一下这个问题。
首先我尝试在入口文件封装一个加密函数,我用php des 加密,然后在配置文件config.php调用。然后在控制器里面使用,打印配置文件:mp(C());//输出所有的配置文件信息, 虽然能看到正确的数据用户名和密码,但是会报错。失败告终。
我说一下我的解决方法。很简单。
1:把配置文件里面的用户名,密码,数据库名瞎写一写,别人看到你的代码的配置文件看到的就是错误的数据库名和密码了。比如:
'DB_NAME' => 'SB', // 数据库名
'DB_USER' => 'ni_da_ye', // 用户名
'DB_PWD' => 'da_da_bi', // 密码
在每个控制器文件里面。加入一段代码。
比如你的IndexController.class.php文件。加下面的代码。
/* 初始化方法*/
public function __construct(){
parent::__construct();
C("DB_NAME",decrypt('712349721937491237'));//数据库名,
C('DB_USER',decrypt('712349721937491237'));//用户名
C('DB_PWD',decrypt('712349721937491237'));//密码
}
看清楚了吗?
decrypt()这个函数就是我封装的一个加密函数,亲自测试没有错误。可能会牺牲一些性能。但是保证了用户名,密码,数据库名没有泄露。甚至你都可以把数据库连接地址也加密一下。希望能帮到你。
PHP加密函数可以考虑用des,aes这些可逆加密。别用什么md4,md5.
3. thinkphp 密码是怎么加密的
md5 需要加密的时候只需要md5('需要加密的字符串')
4. thinkphp这个逻辑是如何执行加密了 是先执行md5($data['password'],然后在执行$data['password']=md5(..)
如果提交的数据里,password不为空,
对password进行md5加密: md5($data['password']);
加密后的字符串再赋值给password。
5. thinkphp中md5算法位置
直接用md5函数就可以,md5是php函数,TP中没有封装,比如
$pwd=$_GET['pwd'];
echo$pwd=md5($pwd);
6. thinkphp怎么加密url参数
/**
*系统加密方法
*@paramstring$data要加密的字符串
*@paramstring$key加密钥
*@paramint$expire过期时间单位秒
*returnstring
*@author麦当苗儿<[email protected]>
*/
functionthink_encrypt($data,$key='',$expire=0){
$key=md5(empty($key)?C('DATA_AUTH_KEY'):$key);
$data=base64_encode($data);
$x=0;
$len=strlen($data);
$l=strlen($key);
$char='';
for($i=0;$i<$len;$i++){
if($x==$l)$x=0;
$char.=substr($key,$x,1);
$x++;
}
$str=sprintf('%010d',$expire?$expire+time():0);
for($i=0;$i<$len;$i++){
$str.=chr(ord(substr($data,$i,1))+(ord(substr($char,$i,1)))%256);
}
returnstr_replace(array('+','/','='),array('-','_',''),base64_encode($str));
}
/**
*系统解方法
*@paramstring$data要解的字符串(必须是think_encrypt方法加密的字符串)
*@paramstring$key加密密钥
*returnstring
*@author当苗儿<[email protected]>
*/
functionthink_decrypt($data,$key=''){
$key=md5(empty($key)?C('DATA_AUTH_KEY'):$key);
$data=str_replace(array('-','_'),array('+','/'),$data);
$mod4=strlen($data)%4;
if($mod4){
$data.=substr('====',$mod4);
}
$data=base64_decode($data);
$expire=substr($data,0,10);
$data=substr($data,10);
if($expire>0&&$expire<time()){
return'';
}
$x=0;
$len=strlen($data);
$l=strlen($key);
$char=$str='';
for($i=0;$i<$len;$i++){
if($x==$l)$x=0;
$char.=substr($key,$x,1);
$x++;
}
for($i=0;$i<$len;$i++){
if(ord(substr($data,$i,1))<ord(substr($char,$i,1))){
$str.=chr((ord(substr($data,$i,1))+256)-ord(substr($char,$i,1)));
}else{
$str.=chr(ord(substr($data,$i,1))-ord(substr($char,$i,1)));
}
}
returnbase64_decode($str);
}
7. thinkphp能够对源代码加密吗
不能,thinkphp只是一个php框架,php源码的加密可以看看这个:Zend Guard
8. thinkphp MD5加密问题
AUTH_CODE这个参数是自定义的,每个网站的参数都不一样,有些网站为了安全,这个值还是随机数,这样的话,就打打加强了开源程序的安全性。encrypt这个函数在这里就是读取配置文件中的随机数和MD5加密之后的文件再做个二次加密,所以就很安全咯
是否可以解决您的问题?
9. 关于thinkphp的md5加密
一般都是这样的。