当前位置:  编程技术>php

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

    来源: 互联网  发布时间:2014-08-26

    本文导语:  加密算法如下: 代码如下: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;        }   ...

加密算法如下:

代码如下:

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};
        $x++;
    }
    for ($i = 0; $i < $len; $i++)
    {
        $str .= chr(ord($data{$i}) + (ord($char{$i})) % 256);
    }
    return base64_encode($str);
}

解密算法如下:

代码如下:

function decrypt($data, $key)
{
 $key = md5($key);
    $x = 0;
    $data = base64_decode($data);
    $len = strlen($data);
    $l = strlen($key);
    for ($i = 0; $i < $len; $i++)
    {
        if ($x == $l)
        {
         $x = 0;
        }
        $char .= substr($key, $x, 1);
        $x++;
    }
    for ($i = 0; $i < $len; $i++)
    {
        if (ord(substr($data, $i, 1)) < ord(substr($char, $i, 1)))
        {
            $str .= chr((ord(substr($data, $i, 1)) + 256) - ord(substr($char, $i, 1)));
        }
        else
        {
            $str .= chr(ord(substr($data, $i, 1)) - ord(substr($char, $i, 1)));
        }
    }
    return $str;
}

上述加密解密的过程均需要用到一个加密密钥(即参数$key)。

代码如下:

$data = 'PHP加密解密算法';  // 被加密信息
$key = '123';     // 密钥
$encrypt = encrypt($data, $key);
$decrypt = decrypt($encrypt, $key);
echo $encrypt, "n", $decrypt;

上述将输出类似如下结果:

代码如下:

gniCSOzZG+HnS9zcFea7SefNGhXF
PHP加密解密算法

从上述结果可以看出,这是一组可逆的加密解密算法,可以用于部分需要还原的数据加密。


    
 
 

您可能感兴趣的文章:

  • php质数算法代码 php除法求质数
  • php微博短网址算法 php生成短网址的实现代码
  • PHP中对各种加密算法、Hash算法的速度测试对比代码
  • php生成数组的使用示例 php全组合算法
  • php生成数组与php全组合算法
  • php质数算法简单示例
  • PHP 素数计算算法示例
  • PHP5入门之分组算法
  • php冒泡排序算法实现代码
  • php选择排序算法实现代码
  • php递归算法 php递归函数无限级分类
  • php实现信用卡校验位算法THE LUHN MOD-10示例
  • 一组PHP可逆加密解密算法实例代码
  • php排序算法 PHP版快速排序与冒泡排序
  • 又一个PHP实现的冒泡排序算法分享
  • PHP折半(二分)查找算法的实现代码
  • php hash算法实例分享
  • PHP递归算法实例解析
  • php递归算法应用实例
  • php的hash算法介绍
  • PHP源文件加密工具 PHP Screw
  • PHP源码加密工具 SourceCop
  • PHP 代码加密工具 HCache
  • PHP的加密/解密工具 ionCube
  • 实用的PHP带公钥加密类分享(每次加密结果都不一样哦)
  • php base64加密解密的实现代码
  • PHP 加密类库 phpass
  • php_screw安装使用教程(另一个PHP代码加密实现)
  • PHP 源码加密模块 php-beast
  • 神盾加密解密教程(三)PHP 神盾解密工具
  • 带密匙的php加密解密示例分享
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 修改配置真正解决php文件上传大小限制问题(nginx+php)
  • IIS7配置PHP图解(IIS7+PHP_5.2.17/PHP_5.3.5)
  • PHP 5.4.19 和 PHP 5.5.3 发布及下载地址
  • php输入流php://input使用示例(php发送图片流到服务器)
  • 修改配置真正解决php文件上传大小限制问题(apache+php)
  • PHP转换器 HipHop for PHP
  • PHP去除html标签,php标记及css样式代码参考
  • PHP 框架 Pop php
  • PHP 'ext/soap/php_xml.c'不完整修复存在多个任意文件泄露漏洞
  • PHP的JavaScript框架 PHP.JS
  • php通过socket_bind()设置IP地址代码示例
  • php服务器探针显示php服务器信息
  • php安装完成后如何添加mysql扩展
  • PHP缓存加速器 Alternative PHP Cache (APC)
  • 又一个PHP实现的冒泡排序算法分享 iis7站长之家
  • PHP自动化测试 PHP-QAT
  • PHP介绍及学习网站推荐
  • PHP 的 HTTP 客户端库 PHP Buzz
  • php中操作memcache的类及成员列表及php下如何连接memched服务器
  • PHP 调试工具 PHP_Dyn
  • php中内置的mysql数据库连接驱动mysqlnd简介及mysqlnd的配置安装方式
  • PHP代码格式化 php.fmt


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3