当前位置: 首页 > 编程笔记 >

PHP解密Unicode及Escape加密字符串

秦天宇
2023-03-14
本文向大家介绍PHP解密Unicode及Escape加密字符串,包括了PHP解密Unicode及Escape加密字符串的使用技巧和注意事项,需要的朋友参考一下

本文给大家分享一个PHP解密Unicode及Escape加密字符串函数

<?php  
function uni_decode($s) {  
  preg_match_all('/\&\#([0-9]{2,5})\;/', $s, $html_uni);  
  preg_match_all('/[\\\%]u([0-9a-f]{4})/ie', $s, $js_uni);  
  $source = array_merge($html_uni[0], $js_uni[0]);  
  $js = array();  
  for($i=0;$i<count($js_uni[1]);$i++) {  
    $js[] = hexdec($js_uni[1][$i]);  
  }  
  $utf8 = array_merge($html_uni[1], $js);  
  $code = $s;  
  for($j=0;$j<count($utf8);$j++) {  
    $code = str_replace($source[$j], unicode2utf8($utf8[$j]), $code);  
  }  
  return $code;//$s;//preg_replace('/\\\u([0-9a-f]{4})/ie', "chr(hexdec('\\1'))", $s);  
}  
  
function unicode2utf8($c) {  
  $str="";  
  if ($c < 0x80) {  
     $str.=chr($c);  
  } else if ($c < 0x800) {  
     $str.=chr(0xc0 | $c>>6);  
     $str.=chr(0x80 | $c & 0x3f);  
  } else if ($c < 0x10000) {  
     $str.=chr(0xe0 | $c>>12);  
     $str.=chr(0x80 | $c>>6 & 0x3f);  
     $str.=chr(0x80 | $c & 0x3f);  
  } else if ($c < 0x200000) {  
     $str.=chr(0xf0 | $c>>18);  
     $str.=chr(0x80 | $c>>12 & 0x3f);  
     $str.=chr(0x80 | $c>>6 & 0x3f);  
     $str.=chr(0x80 | $c & 0x3f);  
  }  
  return $str;  
}  
  
$str='%u5927%u5BB6%u597D%uFF0C我是孤魂!<br />\u8FD9\u662F\u6D4B\u8BD5\u6587\u672C\uFF01';  
echo uni_decode($str); // 大家好,我是孤魂!这是测试文本!  

在网上搜索一把,很多用php实现的escape函数,大同小异

function phpescape($str){ 
  preg_match_all("/[\x80-\xff].|[\x01-\x7f]+/",$str,$newstr); 
  $ar = $newstr[0]; 
  foreach($ar as $k=>$v){ 
    if(ord($ar[$k])>=127){ 
      $tmpString=bin2hex(iconv("GBK","ucs-2",$v)); 
      if (!eregi("WIN",PHP_OS)){ 
        $tmpString = substr($tmpString,2,2).substr($tmpString,0,2); 
      } 
      $reString.="%u".$tmpString; 
    } else { 
      $reString.= rawurlencode($v); 
    } 
  } 
  return $reString; 
} 

以上所述就是本文的全部内容了,希望大家能够喜欢。

 类似资料:
  • 本文向大家介绍php加密解密字符串示例,包括了php加密解密字符串示例的使用技巧和注意事项,需要的朋友参考一下 收录了一些比较经典的PHP加密解密函数代码,分享给大家。加密解密原理一般都是通过一定的加密解密算法,将密钥加入到算法中,最终得到加密解密结果。     希望本文所述对大家PHP程序设计有所帮助。

  • 本文向大家介绍PHP加密解密字符串汇总,包括了PHP加密解密字符串汇总的使用技巧和注意事项,需要的朋友参考一下 项目中有时我们需要使用PHP将特定的信息进行加密,也就是通过加密算法生成一个加密字符串,这个加密后的字符串可以通过解密算法进行解密,便于程序对解密后的信息进行处理。 最常见的应用在用户登录以及一些API数据交换的场景。 笔者收录了一些比较经典的PHP加密解密函数代码,分享给大家。加密解密

  • 问题内容: 我的意思是: 也许像: 在PHP中,您该怎么做? 尝试使用 ,但对我不起作用。 问题答案: 更新 PHP 7就绪版本。它使用PHP OpenSSL库中的openssl_encrypt函数。

  • 我的意思是: 可能是这样的: null 尝试使用,但对我不起作用。

  • 问题内容: 我正在通过Apache和Node.js服务器之间的不安全连接发送数据。我需要在PHP中加密数据并在Node.js中解密。我花了2天的时间使它正常工作,但是我只设法使消息签名正常工作,没有加密。我尝试将AES128-CBC,AES256-CBC,DES,AES128,AES256作为算法传递,但是效果不佳。 我在PHP中尝试过: 在Node.js中: 而且除了错误的解密数据外,我还会得到

  • 本文向大家介绍PHP封装的字符串加密解密函数,包括了PHP封装的字符串加密解密函数的使用技巧和注意事项,需要的朋友参考一下 程序中经常使用的PHP加密解密字符串函数 代码如下: 使用方法: 非常给力的authcode加密函数,Discuz!经典代码(带详解): 函数authcode($string, $operation, $key, $expiry)中的$string:字符串,明文或密文;$op