PHP实现的DES加密解密实例代码


Posted in PHP onApril 06, 2016

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

<?php
$key = 'very important data';
function jiami($key, $str)
{
  /* Open module, and create IV */
  $td = mcrypt_module_open('des', '', 'ecb', '');
  //$td = mcrypt_module_open(MCRYPT_DES, '', MCRYPT_MODE_CBC, '');
  //$td = mcrypt_module_open('des', '', 'cbc', '');
  $key = substr($key, 0, mcrypt_enc_get_key_size($td));
  $iv_size = mcrypt_enc_get_iv_size($td);
  $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
  /* Initialize encryption handle */
  if (mcrypt_generic_init($td, $key, $iv) === -1)
  {
    return FALSE;
  }
  /* Encrypt data */
  $c_t = mcrypt_generic($td, $str);
  /* Clean up */
  mcrypt_generic_deinit($td);
  mcrypt_module_close($td);
  return $c_t;
}
function jiemi($key, $str)
{
  /* Open module, and create IV */
  $td = mcrypt_module_open('des', '', 'ecb', '');
  //$td = mcrypt_module_open(MCRYPT_DES, '', MCRYPT_MODE_CBC, '');
  //$td = mcrypt_module_open('des', '', 'cbc', '');
  $key = substr($key, 0, mcrypt_enc_get_key_size($td));
  $iv_size = mcrypt_enc_get_iv_size($td);
  $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
  /* Initialize encryption handle */
  if (mcrypt_generic_init($td, $key, $iv) === -1)
  {
    return FALSE;
  }
  /* Reinitialize buffers for decryption */
  $p_t = mdecrypt_generic($td, $str);
  /* Clean up */
  mcrypt_generic_deinit($td);
  mcrypt_module_close($td);
  return trim($p_t);
}
$str = 'hello world!';
echo 'key:' . $key . '<br>';
echo 'str:' . $str . '<br>';
$jiami = jiami($key, $str);
echo '加密:' . $jiami . '<br>';
file_put_contents('jiamiqian.txt', $str);
file_put_contents('jiamihou.txt', $jiami);
$jiemi = jiemi($key, $jiami);
echo '解密:' . $jiemi . '<br>';

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
模仿OSO的论坛(五)
Oct 09 PHP
浅析PKI加密解密 OpenSSL
Jul 01 PHP
Codeigniter实现智能裁剪图片的方法
Jun 12 PHP
php导入模块文件分享
Mar 17 PHP
typecho插件编写教程(三):保存配置
May 28 PHP
php实现的单一入口应用程序实例分析
Sep 23 PHP
编写PHP脚本清除WordPress头部冗余代码的方法讲解
Mar 01 PHP
初识ThinkPHP控制器
Apr 07 PHP
Laravel4中的Validator验证扩展用法详解
Jul 26 PHP
php获取文章内容第一张图片的方法示例
Jul 03 PHP
php检查函数必传参数是否存在的实例详解
Aug 28 PHP
php从数据库中获取数据用ajax传送到前台的方法
Aug 20 PHP
php使用正则验证中文
Apr 06 #PHP
php HTML无刷新提交表单
Apr 05 #PHP
PHP如何使用Memcached
Apr 05 #PHP
初识PHP中的Swoole
Apr 05 #PHP
PHP中file_exists使用中遇到的问题小结
Apr 05 #PHP
PHP读取大文件的多种方法介绍
Apr 04 #PHP
PHP如何将XML转成数组
Apr 04 #PHP
You might like
php 过滤器实现代码
2010/08/09 PHP
浅析php过滤html字符串,防止SQL注入的方法
2013/07/02 PHP
php 根据自增id创建唯一编号类
2017/04/06 PHP
php基于SQLite实现的分页功能示例
2017/06/21 PHP
解决PHPstudy Apache无法启动的问题【亲测有效】
2020/10/30 PHP
关于js datetime的那点事
2011/11/15 Javascript
JS和函数式语言的三特性
2014/03/05 Javascript
JavaScript获取表格(table)当前行的值、删除行、增加行
2015/07/03 Javascript
jQuery插件实现文字无缝向上滚动效果代码
2016/02/25 Javascript
JS &amp; JQuery 动态添加 select option
2016/06/08 Javascript
Form表单按回车自动提交表单的实现方法
2016/11/18 Javascript
jQuery Ajax请求后台数据并在前台接收
2016/12/10 Javascript
JS在浏览器中解析Base64编码图像
2017/02/09 Javascript
vue中的router-view组件的使用教程
2018/10/23 Javascript
JavaScript继承的特性与实践应用深入详解
2018/12/30 Javascript
js实现图片放大并跟随鼠标移动特效
2019/01/18 Javascript
JavaScript封闭函数及常用内置对象示例
2019/05/13 Javascript
浅入深出Vue之组件使用
2019/07/11 Javascript
Python 爬虫的工具列表大全
2016/01/31 Python
python实现字符串连接的三种方法及其效率、适用场景详解
2017/01/13 Python
Python列表切片用法示例
2017/04/19 Python
Python编程之基于概率论的分类方法:朴素贝叶斯
2017/11/11 Python
flask session组件的使用示例
2018/12/25 Python
对python 自定义协议的方法详解
2019/02/13 Python
python使用opencv对图像mask处理的方法
2019/07/05 Python
猫途鹰:全球领先的旅游点评社区
2017/04/07 全球购物
英国在线购买轮胎、预订汽车、汽车维修和装配网站:Protyre
2020/04/12 全球购物
夜班门卫岗位职责
2013/12/09 职场文书
无工作经验者个人求职信范文
2013/12/22 职场文书
公司捐款倡议书
2014/05/14 职场文书
生物技术专业求职信
2014/06/10 职场文书
小学生环保标语
2014/06/13 职场文书
2016年学习雷锋精神广播稿
2015/12/17 职场文书
Redis三种集群模式详解
2021/10/05 Redis
2021年国产动漫公司排行前十名,玄机科技上榜,第二推出过铠甲勇士
2022/03/18 杂记
我国拿下天问一号火星着陆区附近 22 个地理实体命名:平乐、西柏坡、古田、漠河等
2022/04/29 数码科技