分享一个php加密字符串类。
class base64{ /** * 加密字符串 * @access static * @param string $data 字符串 * @param string $key 加密key * @return string */ public static function encode($data,$key){ $key=md5($key); $data=base64_encode($data); $dataLength=strlen($data); $keyLength=strlen($key); for($i=0,$x=0;$i<$dataLength;$i++,$x++){ if($x==$keyLength){ $x=0; } $data_encode .= chr((ord($data{$i})+ord($key{$x}))%256); } return base64_encode($data_encode); } /** * 解密字符串 * @access static * @param string $data 字符串 * @param string $key 加密key * @return string */ public static function decode($data,$key){ $key=md5($key); $data=base64_decode($data); $dataLength=strlen($data); $keyLength=strlen($key); for($i=0,$x=0;$i<$dataLength;$i++,$x++){ if($x==$keyLength){ $x=0; } $dataOrd=ord($data{$i}); $keyOrd=ord($key{$x}); if($dataOrd>=$keyOrd){ $data_decode .= chr($dataOrd-$keyOrd); }else{ $data_decode .= chr($dataOrd+256-$keyOrd); } } return base64_decode($data_decode); } } $str=base64::encode('我的名字叫小明','123'); echo $str.'<br/>'; echo base64::decode($str,'123');
输出: