热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

php用户验证base64验证方法

functiondsetcookie($var,$value,$life=0,$prefix=1){global$cookiedomain,$cookiepath,$addtime,$_server;setcookie($var,$value,$life?$a...
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
当前位置:首页 > PHP教程 > php函数 > 列表
php 用户验证 base64验证方法
发布: 来源:  添加日期:2014-08-25 10:54:18 浏览: 评论:0 
  1. function dsetCOOKIE($var$value$life = 0, $prefix = 1) { 
  2.  global $COOKIEdomain$COOKIEpath$addtime$_server
  3.  setCOOKIE($var$value,$life ? $addtime + $life : 0, $COOKIEpath,$COOKIEdomain$_server['server_port'] == 443 ? 1 : 0); 
  4.  
  5. function authcode($string$operation = 'decode'$key = ''$expiry = 0) { 
  6.     global $webaddr
  7.     $auth_key=md5($webaddr); 
  8.  $ckey_length = 4; 
  9.  $key = md5($key ? $key : $auth_key); 
  10.  $keya = md5(substr($key, 0, 16)); 
  11.  $keyb = md5(substr($key, 16, 16)); 
  12.  $keyc = $ckey_length ? ($operation == 'decode' ? substr($string, 0, $ckey_length): substr(md5(microtime()), -$ckey_length)) : ''
  13.  $cryptkey = $keya.md5($keya.$keyc); 
  14.  $key_length = strlen($cryptkey); 
  15.  $string = $operation == 'decode' ? base64_decode(substr($string$ckey_length)) : sprintf('%010d'$expiry ? $expiry + time() : 0).substr(md5($string.$keyb), 0, 16).$string
  16.  $string_length = strlen($string); 
  17.  $result = ''
  18.  $box = range(0, 255); 
  19.  $rndkey = array(); 
  20.  for($i = 0; $i <= 255; $i++) { 
  21.   $rndkey[$i] = ord($cryptkey[$i % $key_length]); 
  22.  } 
  23.  for($j = $i = 0; $i < 256; $i++) { 
  24.   $j = ($j + $box[$i] + $rndkey[$i]) % 256; 
  25.   $tmp = $box[$i]; 
  26.   $box[$i] = $box[$j]; 
  27.   $box[$j] = $tmp
  28.  } 
  29.  for($a = $j = $i = 0; $i < $string_length$i++) { 
  30.   $a = ($a + 1) % 256; 
  31.   $j = ($j + $box[$a]) % 256; 
  32.   $tmp = $box[$a]; 
  33.   $box[$a] = $box[$j]; 
  34.   $box[$j] = $tmp
  35.   $result .= chr(ord($string[$i]) ^ ($box[($box[$a] + $box[$j]) % 256])); 
  36.  } 
  37.  if($operation == &#39;decode&#39;) { 
  38.   if((substr($result, 0, 10) == 0 || substr($result, 0, 10) - time() > 0) && substr($result, 10, 16) == substr(md5(substr($result, 26).$keyb), 0, 16)) {//开源代码phpfensi.com 
  39.    return substr($result, 26); 
  40.   } else { 
  41.    return &#39;&#39;
  42.   } 
  43.  } else { 
  44.   return $keyc.str_replace(&#39;=&#39;&#39;&#39;base64_encode($result)); 
  45.  } 

推荐阅读
  • PHP开发人员薪资水平分析:工程师平均工资概况
    PHP开发人员薪资水平分析:工程师平均工资概况 ... [详细]
  • PHP与MySQL的Web应用开发技术深入解析
    PHP与MySQL的Web应用开发技术深入解析 ... [详细]
  • 【Linux进阶指南】第一阶段第三课:体验与部署Ubuntu系统
    在正式踏上Linux学习之旅之前,本课程将引导你深入体验和部署Ubuntu系统。通过详细的操作步骤和实践演练,你将掌握Ubuntu的基本安装、配置及常用命令,为后续的进阶学习打下坚实的基础。此外,课程还将介绍如何解决常见问题和优化系统性能,帮助你更加高效地使用Ubuntu。 ... [详细]
  • 2016-2017学年《网络安全实战》第三次作业
    2016-2017学年《网络安全实战》第三次作业总结了教材中关于网络信息收集技术的内容。本章主要探讨了网络踩点、网络扫描和网络查点三个关键步骤。其中,网络踩点旨在通过公开渠道收集目标信息,为后续的安全测试奠定基础,而不涉及实际的入侵行为。 ... [详细]
  • 源代码是构建网站的基础,涵盖了网站程序的所有代码、文件和目录结构。掌握源代码意味着完全控制网站的所有权。在传统自助建站平台中,由于采用SAAS模式,源代码通常不对外开放,用户实际上每年支付的费用仅是为了使用这些平台提供的服务,而无法获得真正的代码所有权。相比之下,米拓源代码提供了全面的技术细节和实现方法,使开发者能够深入了解并自主定制网站功能,确保了更高的灵活性和安全性。 ... [详细]
  • C++入门必备:首个博客知识点汇总
    本文总结了C++初学者需要掌握的关键知识点,特别强调了成员类型的区分。其中,protected成员与private成员在本类中的作用相同,但protected成员允许派生类的成员函数访问,而private成员则不允许。此外,文章还介绍了其他重要的C++基础概念,如类的构造函数、析构函数以及继承机制,为初学者提供了一个全面的学习指南。 ... [详细]
  • Kafka核心理论问题汇编【持续更新中】
    本文汇总了Kafka的核心理论问题,涵盖了常见的技术难点和解决方案。内容将持续更新,旨在为开发者提供全面的参考。文章源自博客园,作者呱嗒呱嗒,转载时请注明出处。 ... [详细]
  • 在使用Block时,正确的声明方法和确保线程安全是至关重要的。为了保证Block在堆中分配,应使用`copy`修饰符进行声明,因为栈中的Block与栈的生命周期绑定,容易导致内存问题。此外,还需注意Block捕获外部变量的行为,以避免潜在的循环引用和数据不一致问题。建议深入研究相关文档,以掌握更多高级技巧和最佳实践。 ... [详细]
  • 深入探讨:Java 8 中 HashMap 链表为何选择红黑树而非 AVL 树
    深入探讨:Java 8 中 HashMap 链表为何选择红黑树而非 AVL 树 ... [详细]
  • 利用树莓派畅享落网电台音乐体验
    最近重新拾起了闲置已久的树莓派,这台小巧的开发板已经沉寂了半年多。上个月闲暇时间较多,我决定将其重新启用。恰逢落网电台进行了改版,回忆起之前在树莓派论坛上看到有人用它来播放豆瓣音乐,便萌生了同样的想法。通过一番调试,终于实现了在树莓派上流畅播放落网电台音乐的功能,带来了全新的音乐享受体验。 ... [详细]
  • 二叉树的直径是指树中任意两个叶节点之间最长路径上的节点数量。本文深入解析了计算二叉树直径的算法,并提出了一种优化方法,以提高计算效率和准确性。通过详细的案例分析和性能对比,展示了该优化算法在实际应用中的优势。 ... [详细]
  • 本文全面解析了 gRPC 的基础知识与高级应用,从 helloworld.proto 文件入手,详细阐述了如何定义服务接口。例如,`Greeter` 服务中的 `SayHello` 方法,该方法在客户端和服务器端的消息交互中起到了关键作用。通过实例代码,读者可以深入了解 gRPC 的工作原理及其在实际项目中的应用。 ... [详细]
  • 本文作为探讨PHP依赖注入容器系列文章的开篇,将首先通过具体示例详细阐述依赖注入的基本概念及其重要性,为后续深入解析容器的实现奠定基础。 ... [详细]
  • 在MySQL中更新密码时,首先需要在DOS窗口中切换到mysql安装目录,并使用`--skip-grant-tables`参数启动MySQL服务,以跳过权限表验证。接着,在MySQL命令行中执行相应的SQL语句来设置新密码。完成密码更新后,重启MySQL服务以使更改生效。此外,对于电脑快捷方式的修改,可以通过右键点击快捷方式,选择“属性”,在弹出的窗口中进行路径或目标的修改,最后点击“应用”和“确定”保存更改。 ... [详细]
  • 开发日志:在插入数据到一张表的同时更新另一张表的技术细节与最佳实践 ... [详细]
author-avatar
只都是孩子Whitney
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有