/**
* @todo 解密
* @param String $text 加密后的密码
* @return String $tmp 原始密码
*/
function decrypt($text){
$encrypt_key = 'ggbound';
$text = __key(base64_decode($text),$encrypt_key);
$tmp = '';
for($i = 0;$i < strlen($text); $i++) {
$md5 = $text[$i];
$tmp .= $text[++$i] ^ $md5;
}
return $tmp;
}
/**
* @todo 加密
* @param String $text 原始密码
* @return String base64_encode 加密后的字符串
*/
function encrypt($text){
$encrypt_key = 'ggbound';
$ctr = 0;
$tmp = '';
for($i = 0;$i<strlen($text);$i++) {
$ctr = $ctr == strlen($encrypt_key) ? 0 : $ctr;
$tmp .= $encrypt_key[$ctr].($text[$i]^$encrypt_key[$ctr++]);
}
return base64_encode(__key($tmp,$encrypt_key));
}
/**
* @todo init key
* @param String $text
* @param String $encrypt_key
* @return String $tmp
*/
function __key($text,$encrypt_key){
$encrypt_key = md5($encrypt_key);
$ctr = 0;
$tmp = '';
for($i = 0; $i < strlen($text); $i++) {
$ctr = $ctr == strlen($encrypt_key) ? 0 : $ctr;
$tmp .= $text[$i] ^ $encrypt_key[$ctr++];
}
return $tmp;
}
$text = '12345';
echo encrypt($text);
echo '<br />';
echo decrypt(encrypt($text));
这个加密解密的方法不支持空字符、数组、中文等加密,目前支持不为空的字符串(数字+字母+符号)进行加密解密。
简易的加密解密方法
最新推荐文章于 2024-04-12 17:16:38 发布