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 相关文章推荐
人大复印资料处理程序_补充篇
Oct 09 PHP
帖几个PHP的无限分类实现想法~
Jan 02 PHP
php旋转图片90度的方法
Nov 07 PHP
php将session放入memcached的设置方法
Feb 14 PHP
php实现的百度搜索某地天气的小偷代码
Apr 23 PHP
php冒泡排序、快速排序、快速查找、二维数组去重实例分享
Apr 24 PHP
PHP程序员基本要求和必备技能
May 09 PHP
利用Fix Rss Feeds插件修复WordPress的Feed显示错误
Dec 19 PHP
PHP扩展迁移为PHP7扩展兼容性问题记录
Feb 15 PHP
php图像处理函数imagecopyresampled用法详解
Dec 02 PHP
PHP+ajax实现获取新闻数据简单示例
May 08 PHP
PHP实现考试倒计时功能代码
Apr 16 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/21 PHP
WordPress中制作导航菜单的PHP核心方法讲解
2015/12/11 PHP
PHP判断FORM表单或URL参数来的数据是否为整数的方法
2016/03/25 PHP
Yii2中使用asset压缩js,css文件的方法
2016/11/24 PHP
php生成HTML文件的类方法
2019/10/11 PHP
TP5框架简单登录功能实现方法示例
2019/10/31 PHP
Javascript学习笔记2 函数
2010/01/11 Javascript
javascript面向对象的方式实现的弹出层效果代码
2010/01/28 Javascript
JavaScript高级程序设计 DOM学习笔记
2011/09/10 Javascript
关于URL中的特殊符号使用介绍
2011/11/03 Javascript
JSuggest自动匹配下拉框使用方法(示例代码)
2013/12/27 Javascript
微信小程序 动态绑定数据及动态事件处理
2017/03/14 Javascript
jQuery Plupload上传插件的使用
2017/04/19 jQuery
微信小程序canvas写字板效果及实例
2017/06/15 Javascript
浅谈ajax请求不同页面的微信JSSDK问题
2018/02/26 Javascript
详解使用vue-cli脚手架初始化Vue项目下的项目结构
2018/03/08 Javascript
如何为vue的项目添加单元测试
2018/12/19 Javascript
Vue Extends 扩展选项用法完整实例
2019/09/17 Javascript
js实现简单掷骰子效果
2019/10/24 Javascript
React组件设计模式之组合组件应用实例分析
2020/04/29 Javascript
跟老齐学Python之变量和参数
2014/10/10 Python
Python实现Smtplib发送带有各种附件的邮件实例
2017/06/05 Python
python创建文件备份的脚本
2018/09/11 Python
Python OS模块实例详解
2019/04/15 Python
wxPython实现绘图小例子
2019/11/19 Python
python GUI编程(Tkinter) 创建子窗口及在窗口上用图片绘图实例
2020/03/04 Python
使用OpenCV实现道路车辆计数的使用方法
2020/07/15 Python
详解前端HTML5几种存储方式的总结
2016/12/27 HTML / CSS
丝芙兰意大利官方网站:Sephora.it
2019/12/13 全球购物
中式面点餐厅创业计划书
2014/01/29 职场文书
少先队入队活动方案
2014/02/08 职场文书
转让协议书范本
2014/09/13 职场文书
考研复习计划
2015/01/19 职场文书
怎样写家长意见
2015/06/04 职场文书
致创业的您:这类人不适合餐饮创业
2019/08/19 职场文书
详解Vue中$props、$attrs和$listeners的使用方法
2022/02/18 Vue.js