一组PHP加密解密函数分享

代码如下:

<?php
/**
*功能:对字符串进行加密处理
*参数一:需要加密的内容
*参数二:密钥
*/
function passport_encrypt($str,$key){ //加密函数
srand((double)microtime() * 1000000);
$encrypt_key=md5(rand(0, 32000));
$ctr=0;
$tmp='';
for($i=0;$i<strlen($str);$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<strlen($str);$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<strlen($str);$i++){
$ctr=$ctr==strlen($encrypt_key)?0:$ctr;
$tmp.=$str[$i] ^ $encrypt_key[$ctr++];
}
return $tmp;
}
$str='作者:WWW.JB51.NET;
$key='jb51net';
$encrypt=passport_encrypt($str,$key);
$decrypt=passport_decrypt($encrypt,$key);

echo '原文:',$str."<br><hr>";
echo '密文:',$encrypt."<br><hr>";
echo '译文:',$decrypt."<br><hr>";
?>

(0)

相关推荐

  • php基于mcrypt的加密解密实例

    本文实例讲述了php基于mcrypt实现加密解密的方法.分享给大家供大家参考.具体实现方法如下: PHP中自带了相当多的加密的方法,这里我们来看一下mcrypt扩展的使用方式.也是在工作中需要用这个东西加密访问用户的Cookie的值,认真的学习了这个方面的内容. 1.简介 Mcrypt是PHP的一个扩展,完成了常用加密算法的封装.其实该扩展是对mcrypt标准类库的封装,mcrypt完成了相当多的常用加密算法,如DES, TripleDES, Blowfish (default), 3-WAY,

  • php的一个简单加密解密代码

    复制代码 代码如下: class SysCrypt{ private $crypt_key='http://www.jb51.net';//密钥 public function __construct($crypt_key){  $this->crypt_key=$crypt_key; } public function encrypt($txt){  srand((double)microtime()*1000000);  $encrypt_key=md5(rand(0,32000));  $

  • php自定义加密与解密程序实例

    本文实例讲述了php自定义加密与解密程序.分享给大家供大家参考.具体分析如下: PHP3 Cryption是一个非常容易被破解,不安全的加密功能,不应该是非常重要的东西用,虽然加密是好的,它不会阻碍对尖端开裂程序的严格考验. 不过,试试吧...这是一个伟大的方式来加密和解密字符串.与许多隐窝功能,这是双向的.基于一个密码,您可以加密或解密.您也可以解密或加密过无数次,通过循环或其他方法.字母表中的字符也是变化的.所有这些事情让你修改和巩固加密. 关于这最佳的部分?您可以加密与解密或一张纸和一支铅

  • PHP中加密解密函数与DES加密解密实例

    本文实例讲述了PHP中加密解密函数与DES加密解密的应用,分享给大家供大家参考.具体如下: 例子,php加密解密的例子 加密函数: 复制代码 代码如下: /* *功能:对字符串进行加密处理 *参数一:需要加密的内容 *参数二:密钥 */ function passport_encrypt($str,$key){ //加密函数  srand((double)microtime() * 1000000);  $encrypt_key=md5(rand(0, 32000));  $ctr=0;  $t

  • php写的AES加密解密类分享

    今天写了一个php的AES加密类.适用于Yii的扩展. 如果不用在Yii框架中,把代码中Yii::app()->params['encryptKey'] 换成你对应的默认key就可以了. 类代码: <?php /** * php AES加解密类 * 如果要与java共用,则密钥长度应该为16位长度 * 因为java只支持128位加密,所以php也用128位加密,可以与java互转. * 同时AES的标准也是128位.只是RIJNDAEL算法可以支持128,192和256位加密. * java

  • php加密算法之实现可逆加密算法和解密分享

    加密算法如下: 复制代码 代码如下: function encrypt($data, $key){ $key = md5($key);    $x  = 0;    $len = strlen($data);    $l  = strlen($key);    for ($i = 0; $i < $len; $i++)    {        if ($x == $l)         {         $x = 0;        }        $char .= $key{$x};   

  • 一组PHP可逆加密解密算法实例代码

    对于大部分密码加密,我们可以采用md5.sha1等方法.可以有效防止数据泄露,但是这些方法仅适用于无需还原的数据加密. 对于需要还原的信息,则需要采用可逆的加密解密算法. 下面一组PHP函数是实现此加密解密的方法: 加密算法如下: 复制代码 代码如下: function encrypt($data, $key){ $key = md5($key);    $x  = 0;    $len = strlen($data);    $l  = strlen($key);    for ($i = 0

  • 一个PHP针对数字的加密解密类

    复制代码 代码如下: <?php/** * 加密解密类 * 该算法仅支持加密数字.比较适用于数据库中id字段的加密解密,以及根据数字显示url的加密. * @author 深秋的竹子 * @version alpha * @加密原则 标记长度 + 补位 + 数字替换 * @加密步骤: * 将a-z,A-Z,0-9 62个字符打乱,取前M(数字最大的位数)位作为 标记长度字符串,取第M+1 到第M+10位为数字替换字符串,剩余的为补位字符串 * 1.计算数字长度n,取乱码的第n位作为标记长度. *

  • php中base64_decode与base64_encode加密解密函数实例

    本文实例讲述了php中base64_decode与base64_encode加密解密函数.分享给大家供大家参考.具体分析如下: 这两个函数在php中是用得对php代码进行加密与解密码的base64_encode是加密,而base64_decode是解密了,下面我们看两个简单实例. base64_encode语法:string base64_decode(string data); 复制代码 代码如下: $str='d3d3LmpiNTEubmV0IOiEmuacrOS5i+Wutg==';   

  • 一组PHP加密解密函数分享

    复制代码 代码如下: <?php/***功能:对字符串进行加密处理*参数一:需要加密的内容*参数二:密钥*/function passport_encrypt($str,$key){ //加密函数srand((double)microtime() * 1000000);$encrypt_key=md5(rand(0, 32000));$ctr=0;$tmp='';for($i=0;$i<strlen($str);$i++){$ctr=$ctr==strlen($encrypt_key)?0:$

  • 2个比较经典的PHP加密解密函数分享

    项目中有时我们需要使用PHP将特定的信息进行加密,也就是通过加密算法生成一个加密字符串,这个加密后的字符串可以通过解密算法进行解密,便于程序对解密后的信息进行处理. 最常见的应用在用户登录以及一些API数据交换的场景. 笔者收录了一些比较经典的PHP加密解密函数代码,分享给大家.加密解密原理一般都是通过一定的加密解密算法,将密钥加入到算法中,最终得到加密解密结果. 1.非常给力的authcode加密函数,Discuz!经典代码(带详解): 复制代码 代码如下: function authcode

  • PHP可逆加密/解密函数分享

    函数源码 复制代码 代码如下: function encrypt($data, $key) { $prep_code = serialize($data); $block = mcrypt_get_block_size('des', 'ecb'); if (($pad = $block - (strlen($prep_code) % $block)) < $block) { $prep_code .= str_repeat(chr($pad), $pad); } $encrypt = mcryp

  • php源码分析之DZX1.5加密解密函数authcode用法

    本文实例讲述了php源码分析之DZX1.5加密解密函数authcode用法.分享给大家供大家参考.具体分析如下: <?php $authkey = ''; /** * @param string $string: 输入的需要加密(或解密)的明文(或密文) * @param string $operation: 'DECODE'或其它,其中默认表示解密,输入其它表示加密 * @param string $key: 加解密密钥 * @param int $expiry: 有效期 */ functio

  • PHP加密解密函数详解

    分享一个PHP加密解密的函数,此函数实现了对部分变量值的加密的功能. 加密代码如下: /* *功能:对字符串进行加密处理 *参数一:需要加密的内容 *参数二:密钥 */ function passport_encrypt($str,$key){ //加密函数 srand((double)microtime() * 1000000); $encrypt_key=md5(rand(0, 32000)); $ctr=0; $tmp=''; for($i=0;$i<strlen($str);$i++){

  • SQLSERVER加密解密函数(非对称密钥 证书加密 对称密钥)使用方法代码

    ENCRYPTBYASYMKEY() --非对称密钥ENCRYPTBYCERT()   --证书加密ENCRYPTBYKEY()   --对称密钥ENCRYPTBYPASSPHRASE()  --通行短语(PassPhrase)加密 复制代码 代码如下: --SQLSERVER中的加密函数 2013-7-11ENCRYPTBYASYMKEY() --非对称密钥ENCRYPTBYCERT()   --证书加密ENCRYPTBYKEY()   --对称密钥ENCRYPTBYPASSPHRASE() 

  • asp加密解密函数decrypt

    加密与解密函数 <%function decrypt(dcode)  dim texts dim i for i=1 to len(dcode) texts=texts & chr(asc(mid(dcode,i,2))-i) next decrypt=texts end function function encrypt(ecode) Dim texts dim i for i=1 to len(ecode) texts=texts & chr(asc(mid(ecode,i,2)

  • 经典PHP加密解密函数Authcode()修复版代码

    Authcode这个函数很多人都使用,这函数来自Discuz程序,用于加密解密字符串,可以设置钥匙(key)和过期时间,在很多时候都用得着.原版的函数代码可能会生成+./.&这样的字符,导致通过URL传值取回时被转义,导致无法解密.火端网络稍加修改,把这几个字符替换成其它字符,解密时再替换回去,这样就完美了! 代码如下: function authcode($string, $operation = 'DECODE', $key = '', $expiry = 0){ if($operation

随机推荐