PHP简单对称ID加密、解密算法,有时候需要对数据进行简单的混淆,不让别人轻易破解,所以就需要对数据进行一定的加密解密来保证数据的安全性,这里提供简单的方法,供大家参考。
<?php /** * [encodeId ID加密] * @param int $id ID * @param int $time 时间戳 */ function encodeId($id = 0, $time = '') { //时间戳 if(empty($time)){ $time = time(); } else { $time = !empty(strtotime($time)) ? strtotime($time) : time(); } //加密 return base64_encode($time . $id); } /** * [decodeId ID解密] */ function decodeId($id = "") { //解密 $id = str_replace("%3D", '=', $id); //转码 $id = ConvertToUTF8(base64_decode($id)); //截取 $id = substr($id, 10); //返回 return is_numeric($id) ? $id : 0; } /** * [ConvertToUTF8 转换为utf-8] */ function ConvertToUTF8($text){ //检测 $encoding = mb_detect_encoding($text, mb_detect_order(), false); //判断 if($encoding == "UTF-8"){ $text = mb_convert_encoding($text, 'UTF-8', 'UTF-8'); } //转换 $out = iconv(mb_detect_encoding($text, mb_detect_order(), false), "UTF-8//IGNORE", $text); //返回 return $out; } ?>
使用方法
<?php encodeId('1'); //加密 decodeId('MTY2MzgzMTQ5NzE=') //解密 ?>
文章评论(0)