经典PHP加密解密函数Authcode()修复版代码,加密解密authcode_PHP教程
经典PHP加密解密函数Authcode()修复版代码,加密解密authcode
Authcode这个函数很多人都使用,这函数来自Discuz程序,用于加密解密字符串,可以设置钥匙(key)和过期时间,在很多时候都用得着。原版的函数代码可能会生成+、/、&这样的字符,导致通过URL传值取回时被转义,导致无法解密。火端网络稍加修改,把这几个字符替换成其它字符,解密时再替换回去,这样就完美了!
代码如下:
function authcode($string, $operation = 'DECODE', $key = '', $expiry = 0){ if($operation == 'DECODE') { $string = str_replace('[a]','+',$string); $string = str_replace('[b]','&',$string); $string = str_replace('[c]','/',$string); } $ckey_length = 4; $key = md5($key ? $key : 'livcmsencryption '); $keya = md5(substr($key, 0, 16)); $keyb = md5(substr($key, 16, 16)); $keyc = $ckey_length ? ($operation == 'DECODE' ? substr($string, 0, $ckey_length): substr(md5(microtime()), -$ckey_length)) : ''; $cryptkey = $keya.md5($keya.$keyc); $key_length = strlen($cryptkey); $string = $operation == 'DECODE' ? base64_decode(substr($string, $ckey_length)) : sprintf('%010d', $expiry ? $expiry + time() : 0).substr(md5($string.$keyb), 0, 16).$string; $string_length = strlen($string); $result = ''; $box = range(0, 255); $rndkey = array(); for($i = 0; $i <= 255; $i++) { $rndkey[$i] = ord($cryptkey[$i % $key_length]); } for($j = $i = 0; $i < 256; $i++) { $j = ($j + $box[$i] + $rndkey[$i]) % 256; $tmp = $box[$i]; $box[$i] = $box[$j]; $box[$j] = $tmp; } for($a = $j = $i = 0; $i < $string_length; $i++) { $a = ($a + 1) % 256; $j = ($j + $box[$a]) % 256; $tmp = $box[$a]; $box[$a] = $box[$j]; $box[$j] = $tmp; $result .= chr(ord($string[$i]) ^ ($box[($box[$a] + $box[$j]) % 256])); } if($operation == 'DECODE') { if((substr($result, 0, 10) == 0 || substr($result, 0, 10) - time() > 0) && substr($result, 10, 16) == substr(md5(substr($result, 26).$keyb), 0, 16)) { return substr($result, 26); } else { return ''; } } else { $ustr = $keyc.str_replace('=', '', base64_encode($result)); $ustr = str_replace('+','[a]',$ustr); $ustr = str_replace('&','[b]',$ustr); $ustr = str_replace('/','[c]',$ustr); return $ustr; } }

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

标题:使用ReactQuery和数据库进行数据加密和解密简介:本文将介绍如何使用ReactQuery和数据库进行数据加密和解密。我们将使用ReactQuery作为数据管理库,并结合数据库进行数据的加密和解密操作。通过结合这两个技术,我们可以安全地存储和传输敏感数据,并在需要时进行加密和解密操作,保证数据的安全性。正文:一、ReactQue

随着微信小程序在移动应用市场中越来越流行,它的开发也受到越来越多的关注。在小程序中,PHP作为一种常用的后端语言,经常用于处理敏感数据的加密和解密。本文将介绍在微信小程序中如何使用PHP实现加密和解密。一、什么是加密和解密?加密是将敏感数据转换为不可读的形式,以确保数据在传输过程中不被窃取或篡改。解密是将加密数据还原为原始数据。在小程序中,加密和解密通常包括

这篇文章是本站给大家分享的在不使用第三方加解密工具情况下对文件进行加解密方法,Win11右键菜单添加加密解密方法教程,由于需要修改注册表,大家一定要做好备份再进行操作。1、首先,按键盘上的【Win+R】组合键,打开运行,然后输入【regedit】命令,按【确定或回车】可以打开注册表编辑器;2、用户账户控制窗口,你要允许此应用对你的设备进行更改吗?点击【是】;3、注册表编辑器窗口,依次展开到以下路径:HKEY_CURRENT_USER\Software\Microsoft\Windows\Curr

使用Yii框架中间件加密和解密敏感数据引言:在现代的互联网应用中,隐私和数据安全是非常重要的问题。为了确保用户的敏感数据不被未经授权的访问者获取,我们需要对这些数据进行加密。Yii框架为我们提供了一种简单且有效的方法来实现加密和解密敏感数据的功能。在本文中,我们将介绍如何使用Yii框架的中间件来实现这一目标。Yii框架简介Yii框架是一个高性能的PHP框架,

PHP邮箱开发:实现邮件的加密和解密功能随着信息传递的日益发达,电子邮件已成为人们重要的沟通方式之一。然而,随之而来的安全问题也逐渐引起人们的关注。为了保护邮件的安全性,加密和解密成为了发送和接收邮件的重要环节。本文将介绍如何使用PHP开发邮件加密和解密功能,提高电子邮件的安全性。一、加密的原理和作用邮件加密是将邮件内容使用特定的算法进行转换,使得除了收件

Java函数库提供了丰富的加密解密工具,包括JCE、JCA、ApacheCommonsCrypt等。JCE提供了加密算法和功能,JCA提供接口访问加密服务提供者,ApacheCommonsCrypt包含更多加密算法和工具。实战案例展示了如何使用JCE对文本进行AES加密,生成Base64编码的密文。

PHP加密解密的方法有哪些,需要具体代码示例随着网络技术的不断发展,数据的安全性愈发受到关注。在Web开发过程中,处理和保护用户的敏感信息是必不可少的一环。PHP作为一种广泛应用于Web开发的脚本语言,在数据加密和解密方面提供了多种方法。下面将介绍几种常用的加密解密方法,并提供相应的代码示例。一、对称加密对称加密算法使用相同的密钥进行加密和解密。常见的对称加

如何利用Go的SectionReader模块实现文件指定部分的内容加密与解密?引言:在开发中,文件的内容加密与解密是一个很常见的需求。Go语言提供了丰富的库和模块来满足这一需求。其中,SectionReader是一个非常实用的模块,它可以让我们在一个大文件中指定内容的范围,并进行读取、加密和解密操作。本文将介绍如何使用Go的SectionReader模块来实
