企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持知识库和私有化部署方案 广告
| 字符串加密解密 | | | --- | --- | ``` /** * [encrypt 加密] * @param [type] $str [待加密字符串] * @param [type] $key [密钥] * @return [type] [description] */ function encrypt($str, $key){ $mixStr = md5(date('Y-m-d H:i:s').rand(0,1000)); // $mixStr = '1a9f96ba137df0ba5d665cff4db1841f'; $tmp = ''; $strLen = strlen($str); for($i=0, $j=0; $i<$strLen; $i++, $j++){ $j = $j == 32 ? 0 : $j; $tmp .= $mixStr[$j].($str[$i] ^ $mixStr[$j]); } return base64_encode(bind_key($tmp, $key)); } /** * [decrypt 解密] * @param [type] $str [待解密字符串] * @param [type] $key [密钥] * @return [type] [description] */ function decrypt($str, $key){ $str = bind_key(base64_decode($str), $key); $strLen = strlen($str); $tmp = ''; for($i=0; $i<$strLen; $i++){ $tmp .= $str[$i] ^ $str[++$i]; } return $tmp; } /** * [bind_key 辅助方法 用密钥对随机化操作后的字符串进行处理] * @param [type] $str [description] * @param [type] $key [description] * @return [type] [description] */ function bind_key($str, $key){ $encrypt_key = md5($key); $tmp = ''; $strLen = strlen($str); for($i=0, $j=0; $i<$strLen; $i++, $j++){ $j = $j == 32 ? 0 : $j; $tmp .= $str[$i] ^ $encrypt_key[$j]; } return $tmp; } #Example 加密:encrypt('lingwei', 'encrypt') #输出:VjxTYQc+VDBXIgcyBTw= 解密:decrypt('VjxTYQc+VDBXIgcyBTw=', 'encrypt') #输出:lingwei #json字符串类型加、解密 $json = json_encode(['status' => 200]); print_r(encrypt($json, 'encrypt')); #输出:UC1VLAElA3QEZ1J2XHlSJgVyATkFNlxkBTEAeg== print_r(decrypt('UC1VLAElA3QEZ1J2XHlSJgVyATkFNlxkBTEAeg==', 'encrypt')); #输出:$json ```