有没有那么一个函数?可以加密字符串,同时提供另外一个解密函数? 加密算法很多的,你可以自己写,也可以用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吧,我只是不想别人在屏幕直接看到密码。 大虾们,帮帮新手 易宝支付提示: 抱歉,订单信息丢失,请从商户网站重新提交 页面跳转的问题 数据库中的数据转入别的数据库中,在线等 关于验证码的问题 40分求解 zend framework的问题! mysql查询问题 关于PHP 我們的程序要對sql語句分析,得出這個語句要對數據庫進行哪些動,作然後在一個表中保存這些分析結果。請大家給些思路怎樣做會考慮全面點!!! 谁说不能发菜鸟问题了?! 刚接触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;
}
}
?>