백엔드 개발 PHP 튜토리얼 支持中文的php加密解密类代码_php技巧

支持中文的php加密解密类代码_php技巧

May 17, 2016 am 09:14 AM
암호화 및 복호화

php代码类:

复制代码 代码如下:

/**
* Copyright (c) 2011 - 01 XatuDream
* XatuDream All Rights Reserved.
* Support:185390516.qzone.qq.com
* QQ:185390516
* Author:Lau Version:1.01
* Date:2010-08-12 09:28:32
*/
! defined ( 'WORKSPACE' ) && exit ( "Access Denied !" );
class MD5Crypt {
/**
* Enter description here ...
* @param unknown_type $str
* @return string
*/
public final static function mdsha($str) {
$code = substr ( md5 ( $str ), 10 );
$code .= substr ( sha1 ( $str ), 0, 28 );
$code .= substr ( md5 ( $str ), 0, 22 );
$code .= substr ( sha1 ( $str ), 16 ) . md5 ( $str );
return self::chkToken () ? $code : null;
}
/**
* Enter description here ...
* @param unknown_type $param
*/
private final static function chkToken() {
return true;
}
/**
* Enter description here ...
* @param unknown_type $txt
* @param unknown_type $encrypt_key
* @return Ambigous
*/
private final static function keyED($txt, $encrypt_key) {
$encrypt_key = md5 ( $encrypt_key );
$ctr = 0;
$tmp = "";
for($i = 0; $i if ($ctr == strlen ( $encrypt_key ))
$ctr = 0;
$tmp .= substr ( $txt, $i, 1 ) ^ substr ( $encrypt_key, $ctr, 1 );
$ctr ++;
}
return $tmp;
}
/**
* Enter description here ...
* @param unknown_type $txt
* @param unknown_type $key
* @return string
*/
public final static function Encrypt($txt, $key) {
srand ( ( double ) microtime () * 1000000 );
$encrypt_key = md5 ( rand ( 0, 32000 ) );
$ctr = 0;
$tmp = "";
for($i = 0; $i if ($ctr == strlen ( $encrypt_key ))
$ctr = 0;
$tmp .= substr ( $encrypt_key, $ctr, 1 ) . (substr ( $txt, $i, 1 ) ^ substr ( $encrypt_key, $ctr, 1 ));
$ctr ++;
}
$_code = md5 ( $encrypt_key ) . base64_encode ( self::keyED ( $tmp, $key ) ) . md5 ( $encrypt_key . $key );
return self::chkToken () ? $_code : null;
}
/**
* Enter description here ...
* @param unknown_type $txt
* @param unknown_type $key
* @return Ambigous
*/
public final static function Decrypt($txt, $key) {
$txt = self::keyED ( base64_decode ( substr ( $txt, 32, - 32 ) ), $key );
$tmp = "";
for($i = 0; $i $md5 = substr ( $txt, $i, 1 );
$i ++;
$tmp .= (substr ( $txt, $i, 1 ) ^ $md5);
}
return self::chkToken () ? $tmp : null;
}
/**
* Enter description here ...
* @var unknown_type
*/
private static $_key = 'lau';
}
?>

使用方法:
复制代码 代码如下:

/**
* Copyright (c) 2011 XatuDream
* XatuDream All Rights Reserved.
* Support:185390516.qzone.qq.com
* QQ:185390516
* Author:LoveCrystal Version:1.01
* Date:2011-9-2 04:00:37
*/
define ( 'WORKSPACE', '.' . DIRECTORY_SEPARATOR );
header ( "Content-Type: text/html; charset=utf-8" );
include_once 'Core/Library/MD5Crypt.class.php';
$a = MD5Crypt::Encrypt ( "A", 100 );
echo "EnCode:" . $a, "
";
echo "DeCode:" . MD5Crypt::Decrypt ( $a, 100 );
?>
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

뜨거운 기사 태그

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

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

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

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

오른쪽 클릭 메뉴에 Win11 암호화 기능을 추가하는 방법 Win11 암호화 및 암호 해독 오른쪽 클릭 바로 가기를 추가하는 방법은 무엇입니까? 오른쪽 클릭 메뉴에 Win11 암호화 기능을 추가하는 방법 Win11 암호화 및 암호 해독 오른쪽 클릭 바로 가기를 추가하는 방법은 무엇입니까? Jan 07, 2024 am 08:45 AM

오른쪽 클릭 메뉴에 Win11 암호화 기능을 추가하는 방법 Win11 암호화 및 암호 해독 오른쪽 클릭 바로 가기를 추가하는 방법은 무엇입니까?

Yii 프레임워크 미들웨어를 사용하여 민감한 데이터 암호화 및 복호화 Yii 프레임워크 미들웨어를 사용하여 민감한 데이터 암호화 및 복호화 Jul 28, 2023 pm 07:12 PM

Yii 프레임워크 미들웨어를 사용하여 민감한 데이터 암호화 및 복호화

WeChat 애플릿에서 PHP로 개발된 암호화 및 복호화 구현 방법 WeChat 애플릿에서 PHP로 개발된 암호화 및 복호화 구현 방법 Jun 01, 2023 am 08:12 AM

WeChat 애플릿에서 PHP로 개발된 암호화 및 복호화 구현 방법

React Query와 데이터베이스를 이용한 데이터 암호화 및 복호화 React Query와 데이터베이스를 이용한 데이터 암호화 및 복호화 Sep 26, 2023 pm 12:53 PM

React Query와 데이터베이스를 이용한 데이터 암호화 및 복호화

PHP 메일박스 개발: 이메일 암호화 및 복호화 기능 구현 PHP 메일박스 개발: 이메일 암호화 및 복호화 기능 구현 Sep 12, 2023 am 10:40 AM

PHP 메일박스 개발: 이메일 암호화 및 복호화 기능 구현

PHP Tencent Cloud Server API 인터페이스 도킹의 데이터 암호화 및 복호화 예 PHP Tencent Cloud Server API 인터페이스 도킹의 데이터 암호화 및 복호화 예 Jul 05, 2023 pm 06:16 PM

PHP Tencent Cloud Server API 인터페이스 도킹의 데이터 암호화 및 복호화 예

PHP Tencent Cloud Server API 인터페이스 도킹 프로세스 중 데이터 암호화 및 복호화의 예 PHP Tencent Cloud Server API 인터페이스 도킹 프로세스 중 데이터 암호화 및 복호화의 예 Jul 06, 2023 am 10:52 AM

PHP Tencent Cloud Server API 인터페이스 도킹 프로세스 중 데이터 암호화 및 복호화의 예

Swoole 개발 기능의 네트워크 통신 암호화 및 복호화에 대한 심층 연구 Swoole 개발 기능의 네트워크 통신 암호화 및 복호화에 대한 심층 연구 Aug 08, 2023 am 08:13 AM

Swoole 개발 기능의 네트워크 통신 암호화 및 복호화에 대한 심층 연구

See all articles