代码:
<?php function random($length, $numeric = 0) { //返回随机数 mt_srand((double)microtime() * 1000000); if($numeric){ $hash = sprintf('%0'.$length.'d', mt_rand(0, pow(10, $length) - 1)); }else{ $hash = ''; $chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz'; $max = strlen($chars) - 1; for($i = 0; $i < $length; $i++){ $hash .= $chars[mt_rand(0, $max)]; } } return $hash; } function query_encode($sQuery) { //加密链接 if(strlen($sQuery)==0){ return ''; }else{ $s_tem = preg_replace("/&/i", '&', $sQuery); $s_tem = preg_replace("/&/i", '&', $s_tem); $a_tem = explode('&', $s_tem); shuffle($a_tem); $s_tem = implode('&', $a_tem); $s_tem = random(3). $s_tem . random(3); $s_tem = rawurlencode($s_tem); $s_tem = base64_encode($s_tem); $s_tem = strrev($s_tem); return $s_tem; } } function query_decode($sEncode) { //解密链接 if(strlen($sEncode)==0){ return ''; }else{ $s_tem = strrev($sEncode); $s_tem = base64_decode($s_tem); $s_tem = rawurldecode($s_tem); $s_tem = substr($s_tem, 0, -3); $s_tem = substr($s_tem, 3); return $s_tem; } } function rebuild_GET() { //重写$_GET全局变量 $_GET = array(); $s_query = $_SERVER['QUERY_STRING']; if(strlen($s_query)==0){ return; }else{ $s_tem = query_decode($s_query); $a_tem = explode('&', $s_tem); foreach($a_tem as $val){ $tem = explode('=', $val); $_GET[$tem[0]] = $tem[1]; } } } rebuild_GET(); echo 'GET:<pre>'.print_r($_GET, true).'</pre>'; function testGET(){ echo 'Function GET:<pre>'.print_r($_GET, true).'</pre>'; } testGET(); ?> <br /><br /><br /> <? for($i=1; $i<10; $i++){ $s_url = query_encode('ac=index:logo&class=45&id='.$i); echo sprintf('<a href="?%s">TEST: %s</a><br />', $s_url, $s_url); } ?>
加密解密的其他方法:
<? // Encript String function encrypt($string) { $key = 'tkdcks9796'; $result = ''; $string .= '---'.$key; for($i=0; $i<strlen($string); $i++) { $char = substr($string, $i, 1); $keychar = substr($key, ($i % strlen($key))-1, 1); $char = chr(ord($char)+ord($keychar)); $result.=$char; } return base64_encode($result); } // Decript String function decrypt($string) { $key = 'tkdcks9796'; $result = ''; $string = base64_decode($string); for($i=0; $i<strlen($string); $i++) { $char = substr($string, $i, 1); $keychar = substr($key, ($i % strlen($key))-1, 1); $char = chr(ord($char)-ord($keychar)); $result.=$char; } $tmp = explode('---',$result); return $tmp[0]; } echo encrypt('test'),'<br>',decrypt(encrypt('test')); ?>
或者
function encrypt($data, $key) { $key = md5($key); $x = 0; $len = strlen($data); $l = strlen($key); for ($i = 0; $i < $len; $i++) { if ($x == $l) { $x = 0; } $char .= $key{$x}; $x++; } for ($i = 0; $i < $len; $i++) { $str .= chr(ord($data{$i}) + (ord($char{$i})) % 256); } return base64_encode($str); } function decrypt($data, $key) { $key = md5($key); $x = 0; $data = base64_decode($data); $len = strlen($data); $l = strlen($key); for ($i = 0; $i < $len; $i++) { if ($x == $l) { $x = 0; } $char .= substr($key, $x, 1); $x++; } for ($i = 0; $i < $len; $i++) { if (ord(substr($data, $i, 1)) < ord(substr($char, $i, 1))) { $str .= chr((ord(substr($data, $i, 1)) + 256) - ord(substr($char, $i, 1))); } else { $str .= chr(ord(substr($data, $i, 1)) - ord(substr($char, $i, 1))); } } return $str; } $data = 'PHP加密解密算法'; // 被加密信息 $key = '123'; // 密钥 $encrypt = encrypt($data, $key); $decrypt = decrypt($encrypt, $key); echo $encrypt, "\n", $decrypt;
邮件地址加密:
function encode_email($email='info@domain.com', $linkText='Contact Us', $attrs ='class="emailencoder"' ) { // remplazar aroba y puntos $email = str_replace('@', '@', $email); $email = str_replace('.', '.', $email); $email = str_split($email, 5); $linkText = str_replace('@', '@', $linkText); $linkText = str_replace('.', '.', $linkText); $linkText = str_split($linkText, 5); $part1 = '<a href="ma'; $part2 = 'ilto:'; $part3 = '" '. $attrs .' >'; $part4 = '</a>'; $encoded = '<script type="text/javascript">'; $encoded .= "document.write('$part1');"; $encoded .= "document.write('$part2');"; foreach($email as $e) { $encoded .= "document.write('$e');"; } $encoded .= "document.write('$part3');"; foreach($linkText as $l) { $encoded .= "document.write('$l');"; } $encoded .= "document.write('$part4');"; $encoded .= '</script>'; return $encoded; } echo encode_email();
相关推荐
- 输出Email地址:Razor会自动识别Email格式,无需转换。在代码块中,可以使用`@:`开头,如`@:Tom@gmail.com`。 - 输出HTML代码:可以直接输出字符串变量,如`@html`,其中`html`变量包含HTML代码。 - 输出HTML...
本文将围绕“11.receive_send_email.rar_加密解密_Visual_C++”的主题展开,深入探讨如何使用Visual C++实现邮件的加密发送与解密接收。 首先,邮件的收发通常涉及SMTP(Simple Mail Transfer Protocol)和POP3...
本主题将深入探讨"C#.Net底层操作数据库及常用功能封装类"的相关知识点,包括如何封装数据库操作、消息处理、加密解密、邮件发送以及数据字符串处理等功能。 首先,我们来关注数据库操作。在C#中,可以使用ADO.NET...
加密解密字符串 取URL中的文件名 取字符串中的字符排列 在 Case 语句中使用字符串 在Delphi中使用正规表达式 字符串左右填充字符 扩展Pos函数 改变常量值 映射字符串到指定记录 格式化字符串为CGI请求 格式化文件...
在上面的代码中,`get_js()`函数读取包含解密函数`jiemi`的JavaScript文件,然后`decrypt_email()`函数通过`execjs`编译并执行这个函数,传入加密后的字符串作为参数,从而得到解密后的邮箱地址。 需要注意的是,...
1、更新了分页类,增加URL重写的输出方法; 2、其它的更新内容请大家自己研究,记性有限。 2009年12月01日更新内容: 1、更新部分方法代码及结构; 2、增加防SQL注入方法;(使用方法详见文档) 3、分页类更新并...
Chilkat Class Libraries 是一系列功能丰富的软件开发工具包(SDK),主要用于帮助开发者实现各种网络通信、加密解密、邮件处理等功能。这些库提供了广泛的类集合,涵盖了从FTP操作到电子邮件管理、加密技术等多方面...
- 基于网页的加密文件下载与解密(20分) - 已完成《基于网页的文件上传加密与数字签名系统》所有要求 - 提供匿名用户加密后文件和关联的数字签名文件的下载 - 客户端对下载后的文件进行数字签名验证 【 *非对称...
17. DES加密:DES是一种对称加密方式,使用相同的密钥进行加密和解密,对应C选项。 18. 网络营销与传统营销:网络营销能个性化市场,建立信任感至关重要,网络时代的市场和顾客形态与传统营销有显著差异,顾客仍是...
2. **处理响应**:接收服务器返回的数据,这可能包括登录状态、Session ID(或者Cookie)以及重定向URL等信息。如果登录成功,你需要保存Session ID或Cookie,以便后续请求能保持登录状态。 3. **设置Cookie**:在...
DES两种加密解密方式支持,默认不加密日志按天保存目前崩溃日志和Log信息是按天保存,你可以继承接口来实现更多的保存样式携带设备与OS信息在创建日志的时候,会一并记录OS版本号,App版本,手机型号等信息,方便...
5. **加密和安全类库**:提供加密和哈希函数,如`$this->encrypt->encode()`和`$this->encrypt->decode()`用于加密解密,`$this->security->xss_clean()`防止XSS攻击。 三、自定义辅助函数和类库 除了内置的辅助...
在Java编程环境中,Exchange协议是用于与Microsoft Exchange服务器交互的一种...在实际项目中,还需要考虑错误处理、性能优化以及安全性的相关问题,例如使用SSL/TLS加密通信,处理网络异常,以及管理用户认证凭证等。
9. **加密解密类**:如`Encryption`,提供数据的安全加密和解密,保障信息安全。 10. **日志记录类**:如`Logger`,方便记录程序运行过程中的重要事件。 11. **模板引擎类**:如`TemplateEngine`,用于生成动态...
4. **字符串处理**:包括字符串格式化、截取、加密解密等功能,如`formatStr(str, len)`用于限制字符串长度,`md5(str)`用于进行MD5加密。 5. **数组操作**:数组排序、查找、去重等方法,如`arrayUnique(arr)`用于...
data: "email=" + query.email, type: "post", dataType: "json", success: function(re) { status = 0; } }); // 现在,由于请求是同步的,status将在执行到这里时已经被更新 alert(status); ``` 尽管同步...
4. **加密解密**:Laravel 使用安全的加密库,提供数据加密和解密功能。 5. **哈希**:Laravel 自动对用户密码进行哈希处理,保证安全性。 **扩展功能** 1. **Artisan 命令行**:Laravel 的命令行工具,用于生成...
这里的`SECRET_KEY`是Django项目中的一个秘密键,用于加密和解密数据。`3600`代表token的有效时间为1小时。加密后的`token`是一个字符串,可以安全地放入邮件的链接中。 邮件发送部分通常使用Django内置的`send_...
包括加密的 URL 一起发送到服务器,服务器用自己的私钥解密了你发送的钥匙,然后用这把对称加密的钥匙给你请求的 URL 链接解密。 在 JavaEE 中,可以使用 JavaMail API 实现基于 SMTP 协议的邮件发送功能。JavaMail...
as_SourceStr in Varchar2 --需要加密的字符串 ) Return Varchar2; --将Email地址去头去尾,剩下最简单的Email地址,如"TSI Customer Service" 变成cs@csdn.com Function f_GetNakedEmailAddr( as_...