千家信息网

PHP中加密解密函数以及DES加密解密的实例用法

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,本篇内容介绍了"PHP中加密解密函数以及DES加密解密的实例用法"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够
千家信息网最后更新 2026年11月02日PHP中加密解密函数以及DES加密解密的实例用法

本篇内容介绍了"PHP中加密解密函数以及DES加密解密的实例用法"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

本文实例讲述了PHP中加密解密函数与DES加密解密的应用,分享给大家供大家参考。具体如下:

例子,php加密解密的例子

加密函数:

复制代码 代码如下:

/*
*功能:对字符串进行加密处理
*参数一:需要加密的内容
*参数二:密钥
*/
function passport_encrypt($str,$key){ //加密函数
srand((double)microtime() * 1000000);
$encrypt_key=md5(rand(0, 32000));
$ctr=0;
$tmp='';
for($i=0;$i$ctr=$ctr==strlen($encrypt_key)?0:$ctr;
$tmp.=$encrypt_key[$ctr].($str[$i] ^ $encrypt_key[$ctr++]);
}
return base64_encode(passport_key($tmp,$key));
}

解密代码如下:

复制代码 代码如下:

/*
*功能:对字符串进行解密处理
*参数一:需要解密的密文
*参数二:密钥
*/
function passport_decrypt($str,$key){ //解密函数
$str=passport_key(base64_decode($str),$key);
$tmp='';
for($i=0;$i$md5=$str[$i];
$tmp.=$str[++$i] ^ $md5;
}
return $tmp;
}


辅助函数:

复制代码 代码如下:

/*
*辅助函数
*/
function passport_key($str,$encrypt_key){
$encrypt_key=md5($encrypt_key);
$ctr=0;
$tmp='';
for($i=0;$i$ctr=$ctr==strlen($encrypt_key)?0:$ctr;
$tmp.=$str[$i] ^ $encrypt_key[$ctr++];
}
return $tmp;
}


使用如下所示

复制代码 代码如下:

$str='作者:www.jb51.net';
$key='123456';
$encrypt=passport_encrypt($str,$key);
$decrypt=passport_decrypt($encrypt,$key);
echo '原文:',$str."


";
echo '密文:',$encrypt."

";
echo '译文:',$decrypt."

";


DES加密解密函数具体代码如下:

复制代码 代码如下:

class DES
{
var $key;
var $iv; //偏移量

function DES( $key, $iv=0 ) {
//key长度8例如:1234abcd
$this->key = $key;
if( $iv == 0 ) {
$this->iv = $key;
} else {
$this->iv = $iv; //mcrypt_create_iv ( mcrypt_get_block_size (MCRYPT_DES, MCRYPT_MODE_CBC), MCRYPT_DEV_RANDOM );
}
}

function encrypt($str) {
//加密,返回大写十六进制字符串
$size = mcrypt_get_block_size ( MCRYPT_DES, MCRYPT_MODE_CBC );
$str = $this->pkcs5Pad ( $str, $size );
return strtoupper( bin2hex( mcrypt_cbc(MCRYPT_DES, $this->key, $str, MCRYPT_ENCRYPT, $this->iv ) ) );
}

function decrypt($str) {
//解密
$strBin = $this->hex2bin( strtolower( $str ) );
$str = mcrypt_cbc( MCRYPT_DES, $this->key, $strBin, MCRYPT_DECRYPT, $this->iv );
$str = $this->pkcs5Unpad( $str );
return $str;
}

function hex2bin($hexData) {
$binData = "";
for($i = 0; $i < strlen ( $hexData ); $i += 2) {
$binData .= chr ( hexdec ( substr ( $hexData, $i, 2 ) ) );
}
return $binData;
}

function pkcs5Pad($text, $blocksize) {
$pad = $blocksize - (strlen ( $text ) % $blocksize);
return $text . str_repeat ( chr ( $pad ), $pad );
}

function pkcs5Unpad($text) {
$pad = ord ( $text {strlen ( $text ) - 1} );
if ($pad > strlen ( $text ))
return false;
if (strspn ( $text, chr ( $pad ), strlen ( $text ) - $pad ) != $pad)
return false;
return substr ( $text, 0, - 1 * $pad );
}
}
?>


以下是测试结果:

复制代码 代码如下:

$str = '12345678';
$key = '1234abcd';
$crypt = new DES($key);
$mstr = $crypt->encrypt($str);
$str = $crypt->decrypt($mstr);
echo $str.' <=> '.$mstr;


例子2

代码如下:

复制代码 代码如下:

/**
*加密需通过get方式在url中传递的参数
*/
function args_encode($data) {
if(is_array($data)) {
$string = http_build_query($data);
return base64_encode($string);
} else {
return false;
}
}

/**
*获取url中get方式传递的参数
*/
function getargs() {
$string = base64_decode($_GET['args']);
parse_str($string,$g);
return $g;
}

"PHP中加密解密函数以及DES加密解密的实例用法"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

代码 加密 函数 加密解密 参数 实例 例子 内容 字符 字符串 功能 密文 密钥 方式 更多 知识 处理 辅助 实用 学有所成 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 广州为想互联网科技有限公司 广州淘业互联网络科技 哈尔滨大商圈互联网科技有限公司 新华互联网科技学校 科技制造互联网公司 润盈互联网科技 人人互联网科技是培训 江苏南京365互联网科技 互联网教育科技公司vipkid 创业天下互联网科技有限公司 互联网科技中介 宝灵互联网科技有限公司 互联网保险科技创业 朱啸虎曾投资哪些互联网科技企业 山东星卡互联网科技有限公司官网 上海钢联属于互联网科技股吗 济南小医互联网科技有限公司招聘 互联网企业和网络科技有限公司 六子台科技互联网展会 知域互联网科技有限公司官网 互联网科技公司简介 互联网科技产业 深圳互联网科技公司 互联网 卓越科技 深圳互联网科技怎么样 玖二柒互联网科技公司待遇 中国科技互联网公司收入 互联网科技扶贫时间 珠海东科互联网科技有限公司 唯美互联网科技
0