<?php
header('content-type:text/html;charset=utf-8');
/*
* 对称加密,解密
*/
/**
* 简单对称加密算法之加密
* @param String $string 需要加密的字串
* @param String $skey 加密EKY===密匙
* @return String
*/
$string="hello,world";
echo $string;
echo "<pre>";
function encode($string = "", $skey = 'cxphp') {
//1、将原来的字符串加密 并分割成数组
$strArr = str_split(base64_encode($string));
//2、得到加密后数组的个数
$strCount = count($strArr);
//3、将密匙处理成数组,并拼接到已加密过的数组后面
foreach (str_split($skey) as $key => $value) {
if ($key <$strCount && $strArr[$key]) {
$strArr[$key].=$value;
}
}
//4、将加密并拼接好的数组转换成字符串,并替换
$arr=array('=', '+', '/');
$arr1=array('***', '***', 'oo00o');
return str_replace($arr,$arr1,join($strArr));
}
// echo "<pre>";
//print_r(encode($string));
/**
* 加密步骤总结
* 将原来的字符串加密 并分割成数组
* 得到加密后数组的个数
* 将密匙处理成数组,并拼接到已加密过的数组后面
* 将密匙处理成数组,并拼接到已加密过的数组后面
*/
/**
* 简单对称加密算法之解密
* @param String $string 需要解密的字串
* @param String $skey 解密KEY
* @return Str
*/
$str=encode($string);
//echo $str;
function decode($str="",$skey="cxphp"){
$arr=array('=', '+', '/');
$arr1=array('***', '***', 'oo00o');
$str2=str_replace($arr1,$arr,$str);
//return $str2;
$strArr2=str_split($str2,2);
foreach (str_split($skey) as $key => $val) {
if ($key<count($strArr2) && $strArr2[$key] &&$strArr2[$key][1]==$val) {
$strArr2[$key]=$strArr2[$key][0];
}
}
return base64_decode(join("",$strArr2));
}
echo "<pre>";
print_r (decode($str));
/**
* 解密步骤与加密恰恰相反
*/
?>
header('content-type:text/html;charset=utf-8');
/*
* 对称加密,解密
*/
/**
* 简单对称加密算法之加密
* @param String $string 需要加密的字串
* @param String $skey 加密EKY===密匙
* @return String
*/
$string="hello,world";
echo $string;
echo "<pre>";
function encode($string = "", $skey = 'cxphp') {
//1、将原来的字符串加密 并分割成数组
$strArr = str_split(base64_encode($string));
//2、得到加密后数组的个数
$strCount = count($strArr);
//3、将密匙处理成数组,并拼接到已加密过的数组后面
foreach (str_split($skey) as $key => $value) {
if ($key <$strCount && $strArr[$key]) {
$strArr[$key].=$value;
}
}
//4、将加密并拼接好的数组转换成字符串,并替换
$arr=array('=', '+', '/');
$arr1=array('***', '***', 'oo00o');
return str_replace($arr,$arr1,join($strArr));
}
// echo "<pre>";
//print_r(encode($string));
/**
* 加密步骤总结
* 将原来的字符串加密 并分割成数组
* 得到加密后数组的个数
* 将密匙处理成数组,并拼接到已加密过的数组后面
* 将密匙处理成数组,并拼接到已加密过的数组后面
*/
/**
* 简单对称加密算法之解密
* @param String $string 需要解密的字串
* @param String $skey 解密KEY
* @return Str
*/
$str=encode($string);
//echo $str;
function decode($str="",$skey="cxphp"){
$arr=array('=', '+', '/');
$arr1=array('***', '***', 'oo00o');
$str2=str_replace($arr1,$arr,$str);
//return $str2;
$strArr2=str_split($str2,2);
foreach (str_split($skey) as $key => $val) {
if ($key<count($strArr2) && $strArr2[$key] &&$strArr2[$key][1]==$val) {
$strArr2[$key]=$strArr2[$key][0];
}
}
return base64_decode(join("",$strArr2));
}
echo "<pre>";
print_r (decode($str));
/**
* 解密步骤与加密恰恰相反
*/
?>