PHP加密解密类实例分析_PHP教程
PHP加密解密类实例分析
这篇文章主要介绍了PHP加密解密类,实例分析了php实现加密与解密的原理与相关技巧,非常具有实用价值,需要的朋友可以参考下
本文实例讲述了PHP加密解密类。分享给大家供大家参考。具体分析如下:
这段代码支持 数组加密 , 密文有效期, 各种对称加密
其中参数如下:
* @use ption::en($string, $key);
* @param String $string 需要加密的字串
* @param String $skey 密钥
* @param int $expiry 密文有效期, 加密时候有效, 单位 秒,0 为永久有效
* @return String
1. php代码如下:
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
/* * -工具库-加密解密码 */ class ption { private static $original = array('=', '+', '/'); private static $later = array('O0O0O', 'o0O0o', 'oo00o'); function __construct() { } private static function md5($skey = '') { $skey = $skey ? $skey : 'ui' ; //uicms::_config('security/authkey'); return md5(substr($skey, 0, 16)); } /** * @use ption::en($string, $key); * @param String $string 需要加密的字串 * @param String $skey 密钥 * @param int $expiry 密文有效期, 加密时候有效, 单位 秒,0 为永久有效 * @return String */ static public function en($string = '', $skey = '', $expiry=0) { if( is_array( $string ) ) { $string = json_encode($string); // uicms::json($string, true, 'en'); } $string = str_pad($expiry ? $expiry + TIME : 0, 10, 0).$string; $strArr = str_split(base64_encode($string)); $strCount = count($strArr); $skey = static::md5($skey); foreach (str_split($skey) as $key => $value) { $key } return str_replace(self::$original, self::$later, join('', $strArr)); } /** * @use ption::de($string, $key); * @param String $string 需要解密的字串 * @param String $skey 密钥 * @return String */ static public function de($string = '', $skey = '') { $strArr = str_split(str_replace(self::$later,self::$original,$string),2); $strCount = count($strArr); $skey = static::md5($skey); foreach (str_split($skey) as $key => $value) { $key } $result = base64_decode(join('', $strArr)); if(substr($result, 0, 10) == 0 || substr($result, 0, 10) - TIME > 0) { return substr($result, 10); } else { return false; } } } |
2. 用法如下:
?
1 2 3 4 5 6 |
$str['username'] = 'oschina'; $str['pw'] = '123456'; $str['huoxin'] = '!@#$%^&'; echo "string : " . $str . " echo "encode : " . ($enstring = ption::en($str)) . ' echo "decode : " . ption::de($enstring); |
希望本文所述对大家的php程序设计有所帮助。

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











PHP 8.4는 상당한 양의 기능 중단 및 제거를 통해 몇 가지 새로운 기능, 보안 개선 및 성능 개선을 제공합니다. 이 가이드에서는 Ubuntu, Debian 또는 해당 파생 제품에서 PHP 8.4를 설치하거나 PHP 8.4로 업그레이드하는 방법을 설명합니다.

CakePHP는 PHP용 오픈 소스 프레임워크입니다. 이는 애플리케이션을 훨씬 쉽게 개발, 배포 및 유지 관리할 수 있도록 하기 위한 것입니다. CakePHP는 강력하고 이해하기 쉬운 MVC와 유사한 아키텍처를 기반으로 합니다. 모델, 뷰 및 컨트롤러 gu

CakePHP에 로그인하는 것은 매우 쉬운 작업입니다. 한 가지 기능만 사용하면 됩니다. cronjob과 같은 백그라운드 프로세스에 대해 오류, 예외, 사용자 활동, 사용자가 취한 조치를 기록할 수 있습니다. CakePHP에 데이터를 기록하는 것은 쉽습니다. log() 함수는 다음과 같습니다.

VS Code라고도 알려진 Visual Studio Code는 모든 주요 운영 체제에서 사용할 수 있는 무료 소스 코드 편집기 또는 통합 개발 환경(IDE)입니다. 다양한 프로그래밍 언어에 대한 대규모 확장 모음을 통해 VS Code는

CakePHP는 오픈 소스 MVC 프레임워크입니다. 이를 통해 애플리케이션 개발, 배포 및 유지 관리가 훨씬 쉬워집니다. CakePHP에는 가장 일반적인 작업의 과부하를 줄이기 위한 여러 라이브러리가 있습니다.
