php写的Passport加密函数
php写的Passport加密函数,有需要的朋友可以参考下。
<?php
/**
* Passport 加密函数
*
* @param string 等待加密的原字串
* @param string 私有密匙(用于解密和加密)
*
* @return string 原字串经过私有密匙加密后的结果
*/
function passport_encrypt($txt, $key) {
// 使用随机数发生器产生 0~32000 的值并 MD5()
srand((double)microtime() * 1000000);
$encrypt_key = md5(rand(0, 32000));
// 变量初始化
$ctr = 0;
$tmp = '';
// for 循环,$i 为从 0 开始,到小于 $txt 字串长度的整数
for($i = 0; $i < strlen($txt); $i++) {
// 如果 $ctr = $encrypt_key 的长度,则 $ctr 清零
$ctr = $ctr == strlen($encrypt_key) ? 0 : $ctr;
// $tmp 字串在末尾增加两位,其第一位内容为 $encrypt_key 的第 $ctr 位,
// 第二位内容为 $txt 的第 $i 位与 $encrypt_key 的 $ctr 位取异或。然后 $ctr = $ctr + 1
$tmp .= $encrypt_key[$ctr].($txt[$i] ^ $encrypt_key[$ctr++]);
}
// 返回结果,结果为 passport_key() 函数返回值的 base64 编码结果
return base64_encode(passport_key($tmp, $key));
}
?>
如果想对加密后的内容进行解密,您可以参考 php写的passport解密函数。
您可能感兴趣的文章:
php写的Passport加密函数
php写的Passport解密函数
参考discuz的passpor写的php加密解密处理类
php可逆加密函数代码一例
php base64加密解密的实现代码
PHP加密扩展库Mcrypt的例子
php加密函数md5,crypt,base64_encode的用法介绍
php mcrypt启用、加密以及解密的方法介绍
php MD5函数的简单示例
php 加密、解密类与调用实例