经典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脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

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

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

標題:使用ReactQuery和資料庫進行資料加密和解密簡介:本文將介紹如何使用ReactQuery和資料庫進行資料加密和解密。我們將使用ReactQuery作為資料管理庫,並結合資料庫進行資料的加密和解密操作。透過結合這兩種技術,我們可以安全地儲存和傳輸敏感數據,並在需要時進行加密和解密操作,確保資料的安全性。正文:一、ReactQue

隨著微信小程式在行動應用市場中越來越流行,它的開發也受到越來越多的關注。在小程式中,PHP作為一種常用的後端語言,經常用於處理敏感資料的加密和解密。本文將介紹在微信小程式中如何使用PHP實作加密和解密。一、什麼是加密解密?加密是將敏感資料轉換為不可讀的形式,以確保資料在傳輸過程中不會被竊取或竄改。解密是將加密資料還原為原始資料。在小程式中,加密和解密通常包括

使用Yii框架中間件加密和解密敏感資料引言:在現代的網路應用中,隱私和資料安全是非常重要的問題。為了確保用戶的敏感資料不會被未經授權的訪客取得,我們需要對這些資料進行加密。 Yii框架為我們提供了一種簡單且有效的方法來實現加密和解密敏感資料的功能。在本文中,我們將介紹如何使用Yii框架的中間件來實現這一目標。 Yii框架簡介Yii框架是一個高效能的PHP框架,

這篇文章是本站跟大家分享的在不使用第三方加解密工具情況下對文件進行加解密方法,Win11右鍵選單添加加密解密方法教程,由於需要修改註冊表,大家一定要做好備份再進行操作。 1.首先,按鍵盤上的【Win+R】組合鍵,打開運行,然後輸入【regedit】命令,按【確定或回車】可以打開註冊表編輯器;2、用戶帳戶控制窗口,你要允許此應用程式對你的裝置進行更改嗎?點選【是】;3、登錄編輯器窗口,依序展開到以下路徑:HKEY_CURRENT_USER\Software\Microsoft\Windows\Curr

PHP騰訊雲端伺服器API介面對接過程中的資料加密與解密範例簡介:在與騰訊雲端雲端伺服器的API介面對接過程中,資料的安全性是非常重要的。為了保障資料在傳輸和儲存中的安全,我們需要對敏感資訊進行加密處理。本文將介紹如何使用PHP對資料進行加密和解密操作,以提高資料的保密性和完整性。資料加密:在進行API請求時,我們需要將敏感資訊加密,以確保資料的安全。常用的

PHP郵箱開發:實現郵件的加密和解密功能隨著訊息傳遞的日益發達,電子郵件已成為人們重要的溝通方式之一。然而,隨之而來的安全問題也逐漸引起人們的注意。為了保護郵件的安全性,加密和解密成為了發送和接收郵件的重要環節。本文將介紹如何使用PHP開發郵件加密與解密功能,以提升電子郵件的安全性。一、加密的原理和作用郵件加密是將郵件內容使用特定的演算法轉換,使得除了收件

Java函式庫提供了豐富的加密解密工具,包括JCE、JCA、ApacheCommonsCrypt等。 JCE提供了加密演算法和功能,JCA提供介面存取加密服務提供者,ApacheCommonsCrypt包含更多加密演算法和工具。實戰案例展示如何使用JCE對文字進行AES加密,產生Base64編碼的密文。

如何利用Go的SectionReader模組實作檔案指定部分的內容加密與解密?引言:在開發中,文件的內容加密與解密是一個很常見的需求。 Go語言提供了豐富的函式庫和模組來滿足這一需求。其中,SectionReader是一個非常實用的模組,它可以讓我們在一個大檔案中指定內容的範圍,並進行讀取、加密和解密操作。本文將介紹如何使用Go的SectionReader模組來實
