PHP中使用DES加密解密
对称加密算法
<?php
namespace Common\ORG\Api;
use Eframe\Logic\ConfigLogic;
use Think\Exception; class Descode
{ /** * 解密函数 * 算法:des * 加密模式:ecb * 补齐方法:PKCS5 * @param unknown_type $input */ public static function encryptForDES($input,$key) { $size = mcrypt_get_block_size('des','ecb'); $input = self::pkcs5_pad($input, $size); $td = mcrypt_module_open('des', '', 'ecb', '');$iv = @mcrypt_create_iv (mcrypt_enc_get_iv_size($td), MCRYPT_RAND); @mcrypt_generic_init($td, $key, $iv); $data = mcrypt_generic($td, $input); mcrypt_generic_deinit($td); mcrypt_module_close($td); $data = base64_encode($data); // bin2hex($data)return $data; }public static function decryptForDES($input,$key) { $input = base64_decode($input); $size = mcrypt_get_block_size('des','ecb'); $td = mcrypt_module_open('des', '', 'ecb', ''); $iv = @mcrypt_create_iv (mcrypt_enc_get_iv_size($td), MCRYPT_RAND); @mcrypt_generic_init($td, $key, $iv); $data = mdecrypt_generic($td, $input); mcrypt_generic_deinit($td); mcrypt_module_close($td); $data = self::pkcs5_unpad($data, $size); return $data; } public static function pkcs5_pad ($text, $blocksize) { $pad = $blocksize - (strlen($text) % $blocksize); return $text . str_repeat(chr($pad), $pad); } public static function pkcs5_unpad($text) { $pad = ord($text{strlen($text)-1}); if ($pad > strlen($text)) { return false; } if (strspn($text, chr($pad), strlen($text) - $pad) != $pad) { return false; } return substr($text, 0, -1 * $pad); }
}
PHP中使用DES加密解密相关推荐
- 在Java中使用DES加密解密算法
import javax.crypto.*; import javax.crypto.spec.DESKeySpec; import java.security.NoSuchAlgorithmExce ...
- DES加密解密算法(前端后端)
DES加密解密算法(前端&后端) 原作者 阿弥陀佛1114 原文链接:https://blog.csdn.net/zong1114/article/details/51754470 DES对 ...
- java des 加密工具的使用,Java中DES加密解密工具类的实现实例
这篇文章主要介绍了Java实现的DES加密解密工具类,结合具体实例形式分析了Java实现的DES加密解密工具类定义与使用方法,需要的朋友可以参考下 本文实例讲述了Java实现的DES加密解密工具类.分 ...
- python des解密_python实现DES加密解密方法实例详解
本文实例讲述了python实现DES加密解密方法.分享给大家供大家参考.具体分析如下: 实现功能:加密中文等字符串 密钥与明文可以不等长 这里只贴代码,加密过程可以自己百度,此处python代码没有优 ...
- java 实现 DES加密 解密算法
DES算法的入口参数有三个:Key.Data.Mode.其中Key为8个字节共64位,是DES算法的工作密钥:Data也为8个字节64位,是要被加密或被解密的数据:Mode为DES的工作方式,有两种: ...
- DES加密解密与AES加密解密
× 目录 [1]AES加密算法和DES加密算法的效率比较 [2]AES和DES加密解密代码 随着开发时间的变长,当初认为比较难的东西,现在渐渐也就变的不那么难了!特别对于一些经常很少使用的类,时间长了 ...
- 转载并学习实现三重DES加密解密代码(一)
作者:finallyliuyu 出处:博客园 声明:此篇博文代码来自于邹德强先生.由于目前找到的版本是残缺版,所以我又进行了补全.读一份好代码,可以领略到作者的编程风格和语言驾驭能力,同时又能从其中汲 ...
- python des加密文件_Python DES加密解密方法 pyDes库 兼容中文
单纯记录一下Python中DES加密解密的使用方式直接看代码: 依赖pyDes库安装> pip install pyDes 约定秘钥 python和java 加密和解密联调,兼容中文字符串 Py ...
- C#之DES加密解密
一.DES简介 在线DES加密/解密工具 DES算法是一种最通用的对称算法,因为算法本身是公开的,所以其安全性在于的安全性.基于的算法通常有两类:对称算法和公开算法.对称算法的对称性体现在加能够从解推 ...
最新文章
- 一个系统的base.css,兼容IE7,IE8,IE9,IE10,IE11,firefox,safari,谷歌,360,世界之窗等浏览器起的公共css
- python扫描ip的端口打开情况
- openwrt 3g模块上网
- 8类网线利弊_知识积累 | 千兆网线和百兆网线有何区别?
- 人工学院2卡顿_浙大宁波理工学院就业率怎么样 | 就业情况 | 前景好的专业
- matlablib显示图片
- Graphviz样例之集群流程图
- python从入门到精通 明日科技 电子书-python从入门到项目实践 (明日科技) 配套视频教程+源码...
- android studio选中全部,android - Android Studio风格维度已全部处理,未选中一项 - 堆栈内存溢出...
- Graphics进行局部旋转的办法
- kafka测试工具_kafka压测工具:同步方式2000+、异步方式10000+、带源码
- 组概念_【收藏】学习质谱一定要知道的6组概念
- 算法分析 | 分支限界算法设计之布线问题 C语言版
- 快收藏!最适合计算机大学生的Java毕业设计项目--高校食堂点餐系统
- 1、NESSUS安装
- 【HD Tune变红/警告】硬盘 SMART 检测参数详解
- 大数据教程(10.5)运营商流量日志解析增强
- 什么是飞书机器人?如何定时发送飞书机器人消息?
- 【Paper】2022_Fixed-Time Cooperative Tracking for Delayed Disturbed Multi-Agent Systems Under Dynamic
- 存储器之主存--Cache--辅存大全