有没有那么一个函数?可以加密字符串,同时提供另外一个解密函数? 加密算法很多的,你可以自己写,也可以用PHP的库函数自己合成一个. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Mcrypt库就可以,参考手册中相关部分。 http://www.yoxun.com/sym/content.asp?id=296我从网上找的MD6,还没测试呢,你试试吧 <?$var1="123"; $var2=base64_encode($var1);echo "var1加密后为".$var2;echo "<br>";$var3=base64_decode($var2);echo "var2解密后为".$var3;?>运行结果var1加密后为MTIzvar2解密后为123 <?php //自定义加解密类 class crypter { var $key; //初始化对象 function crypter( $key ) { $this->key = $key; } //产生唯一解密令牌 function keyED( $txt ) { $encrypt_key = md5( $this->key ); $ctr = 0; $tmp = ''; $txt_length = strlen( $txt ); $encrypt_key_length = strlen( $encrypt_key ); for( $i = 0; $i < $txt_length; $i++ ) { if ( $ctr == $encrypt_key_length) { $ctr = 0; } $tmp .= substr( $txt, $i, 1 ) ^ substr( $encrypt_key, $ctr, 1 ); $ctr++; } return $tmp; } //加密字符串 function encrypt( $txt ) { srand( (double)microtime() * 1000000 ); $encrypt_key = md5( mt_rand( 0, 32000 ) ); $ctr = 0; $tmp = ''; $txt_length = strlen( $txt ); $encrypt_key_length = strlen( $encrypt_key ); for( $i = 0; $i < $txt_length; $i++ ) { if ( $ctr == $encrypt_key_length ) { $ctr = 0; } $tmp .= substr( $encrypt_key, $ctr, 1 ) . ( substr( $txt, $i, 1 ) ^ substr( $encrypt_key, $ctr, 1 ) ); $ctr++; } return base64_encode( $this->keyED( $tmp ) ); } //解密字符串 function decrypt( $txt ) { $txt = $this->keyED( base64_decode( $txt ) ); $tmp = ''; $txt_length = strlen( $txt ); for( $i = 0; $i < $txt_length; $i++ ) { $md5 = substr( $txt, $i, 1 ); $i++; $tmp .= ( substr( $txt, $i, 1 ) ^ $md5 ); } return $tmp; } }?> 谢谢各位,我用base_64吧,我只是不想别人在屏幕直接看到密码。 在线等. php报错 急急急 求条正则 小弟请教一个问题 php 字符串变形与还原问题 HTML+php+mysql网页中实现房屋室内效果图显示? PHP: 知道了年月日三个变量,如何换算出明天的年月日? 公司接了一个PHP的项目,准备选一套开源的Framework,牛人给推荐一下 mysql语句执行错误总是会返回错误原因吗? 怎么传,也传不过去!到底怎么回事! 又有問題了.@_@ 怪问题 刚接触php,请前辈指教。 看了php手册还是不懂 get_magic_quotes_gpc()
$var1="123";
$var2=base64_encode($var1);
echo "var1加密后为".$var2;
echo "<br>";
$var3=base64_decode($var2);
echo "var2解密后为".$var3;
?>运行结果
var1加密后为MTIz
var2解密后为123
class crypter
{
var $key; //初始化对象
function crypter( $key )
{
$this->key = $key;
} //产生唯一解密令牌
function keyED( $txt )
{
$encrypt_key = md5( $this->key );
$ctr = 0;
$tmp = '';
$txt_length = strlen( $txt );
$encrypt_key_length = strlen( $encrypt_key ); for( $i = 0; $i < $txt_length; $i++ )
{
if ( $ctr == $encrypt_key_length)
{
$ctr = 0;
} $tmp .= substr( $txt, $i, 1 ) ^ substr( $encrypt_key, $ctr, 1 );
$ctr++;
} return $tmp;
} //加密字符串
function encrypt( $txt )
{
srand( (double)microtime() * 1000000 );
$encrypt_key = md5( mt_rand( 0, 32000 ) );
$ctr = 0;
$tmp = '';
$txt_length = strlen( $txt );
$encrypt_key_length = strlen( $encrypt_key );
for( $i = 0; $i < $txt_length; $i++ )
{
if ( $ctr == $encrypt_key_length )
{
$ctr = 0;
} $tmp .= substr( $encrypt_key, $ctr, 1 ) . ( substr( $txt, $i, 1 ) ^ substr( $encrypt_key, $ctr, 1 ) );
$ctr++;
} return base64_encode( $this->keyED( $tmp ) );
} //解密字符串
function decrypt( $txt )
{
$txt = $this->keyED( base64_decode( $txt ) );
$tmp = '';
$txt_length = strlen( $txt ); for( $i = 0; $i < $txt_length; $i++ )
{
$md5 = substr( $txt, $i, 1 );
$i++;
$tmp .= ( substr( $txt, $i, 1 ) ^ $md5 );
} return $tmp;
}
}
?>