php自帶的base64加密解密函數大部分人都知道,加密后很容易被解密,所以就自己實現的php加密解密函數,密文是字母和數字組合。
<?php /* *加密 */ function encode($tex, $key = null) { $key = $key ? $key : "test"; $md5str=preg_replace('|[0-9/]+|','',md5($key)); $key = substr($md5str, 0, 2); $texlen = strlen($tex); $rand_key=md5($key); $reslutstr = ""; for ($i = 0; $i < $texlen; $i++) { $reslutstr.=$tex{$i} ^ $rand_key{$i % 32}; } $reslutstr = trim(base64_encode($reslutstr), "=="); $reslutstr = $key.substr(md5($reslutstr), 0, 3) . $reslutstr; return $reslutstr; } /* *解密 */ function decode($tex) { $key = substr($tex, 0, 2); $tex = substr($tex, 2); $verity_str = substr($tex, 0, 3); $tex = substr($tex, 3); if ($verity_str != substr(md5($tex), 0, 3)) { //完整性驗證失敗 return false; } $tex = base64_decode($tex); $texlen = strlen($tex); $reslutstr = ""; $rand_key=md5($key); for($i = 0; $i < $texlen; $i++) { $reslutstr.=$tex{$i} ^ $rand_key{$i % 32}; } return $reslutstr; } echo encode("test"); echo decode(encode("test")); ?>