PHP可以使用mcrypt_encrypt进行DES加密与解密,但实际上操作,你会发现它与JAVA的DES加密出来的字符串,有些不同。基本上是前半段一样,后半段不一样。找到PHP官方网站上对这个函数的文档,有人回复了,并给出了代码。经测,这样加密解密就跟JAVA中的兼容了。

If you want to be interoperable with other PKCS  #7 padding implementations, like the Legion of the Bouncy Castle Java  cryptography APIs, you should always pad, that is a 8-byte (block size)  padding should be added, even if not necessary

PHP 代码复制内容到剪贴板
  1. <?php
  2. function encrypt($str, $key)
  3. {
  4. $block = mcrypt_get_block_size('des', 'ecb');
  5. $pad = $block - (strlen($str) % $block);
  6. $str .= str_repeat(chr($pad), $pad);
  7. return mcrypt_encrypt(MCRYPT_DES, $key, $str, MCRYPT_MODE_ECB);
  8. }
  9. function decrypt($str, $key)
  10. {
  11. $str = mcrypt_decrypt(MCRYPT_DES, $key, $str, MCRYPT_MODE_ECB);
  12. $block = mcrypt_get_block_size('des', 'ecb');
  13. $pad = ord($str[($len = strlen($str)) - 1]);
  14. return substr($str, 0, strlen($str) - $pad);
  15. }
  16. ?>

PHP的DES加解密函数 与JAVA兼容相关推荐

  1. 【密码学】DES加解密原理及其Java实现算法

    DES简介 DES(Data Encryption Standard)是对称加解密算法的一种,由IBM公司W.Tuchman和C.Meyer在上个世纪70年代开发. 该算法使用64位密钥(其中包含8位 ...

  2. MATLAB 实现DES加解密

    程序下载链接:https://download.csdn.net/download/m0_56241309/87456325 实验题目:DES加解密 一.实验目的 实验环境: Windows 11操作 ...

  3. 一个java的DES加解密类转换成C#

    原文:一个java的DES加解密类转换成C# 一个java的des加密解密代码如下: //package com.visionsky.util;import java.security.*; //im ...

  4. java 和 c# 下的RSA证书+AES+DES加解密实现

    java 和 c# 下的RSA+AES+DES加解密实现 前言 在实际应用中,经常有需要使用加解密的情况,RSA\AES\DES是比较常用的几种加解密方式,使用和实现方式都比较成熟可靠,本文简要介绍一 ...

  5. java实现DES加解密算法

    以下是我用java实现的DES算法,实现中可能存在一点问题自己没空去找,但我觉得DES的算法过程肯定没错!现在暂时没时间去找到底是哪里的问题,有空再瞧瞧自己的代码喽! makekey.java是生成密 ...

  6. 密码学入门1——凯撒密码和三重DES加解密

    实验目的 1.完成第一个入门加解密--凯撒密码 2.完成当下较为流行的三重DES加解密技术 3.熟悉所学的实际运用方向 实验准备 硬件:计算机或笔记本电脑 操作系统:Mac操作系统 IDE环境:Ecl ...

  7. PHP 基础篇 - PHP 中 DES 加解密详解

    2019独角兽企业重金招聘Python工程师标准>>> 一.简介 DES 是对称性加密里面常见一种,全称为 Data Encryption Standard,即数据加密标准,是一种使 ...

  8. js des加密 java_Java实现与JS相同的Des加解密算法完整实例

    本文实例讲述了Java实现与JS相同的Des加解密算法.分享给大家供大家参考,具体如下: 这里演示java与js实现相同的des加解密算法,不多说,不废话,直接上代码 一.java实现 package ...

  9. LKT系列加密芯片DES加解密以及OpenSSL DES接口实现加解密

    1.测试目标 使用已经预置DES密钥的LKT4201N系列加密芯片完成运算 2.测试环境 本示例运行环境为windows系统.测试软件LCS KIT.LKT-K100开发板. 3.测试步骤 注意:&q ...

最新文章

  1. VR技术怎么落地,行业应用怎么挖掘,来江苏虚拟现实发展大会侃侃
  2. (CodeForces 548B 暴力) Mike and Fun
  3. Linux (四)其他一些服务的实现
  4. 觉得UtraWebGrid老不稳定
  5. FindPrivateKey X509
  6. boost::multi_index模块相关的测试程序
  7. dosubmit 成功不成功_供卵试管不成功的原因是什么?一般几次成功?
  8. idea中git分支的使用
  9. th:each嵌套_难题:嵌套的computeIfAbsent
  10. ubuntu下 windows的zip文件打开,中文目录和文件名乱码
  11. linux下用rpm 安装jdk
  12. python程序30行_Python30行代码实现对pdf文字内容的提取
  13. cdh mysql sqoop 驱动_[bigdata-003]在cdh 5.7下 用sqoop1将mysql数据库数据导入到hdfs的方式...
  14. mysql数据库表格导出为excel表格
  15. 【图像融合】基于matlab curvelet变换图像融合(评价指标)【含Matlab源码 781期】
  16. NATS 分布式消息队列系统
  17. 生而美者,若知之,若不知之,若闻之,若不闻之
  18. mysql数据库解锁
  19. Doom3引擎初始化分析
  20. python 决策树分类 泰坦尼克生存预测

热门文章

  1. div:给div加滚动栏 div的滚动栏设置
  2. 【随感】看老科和当当的回眸相视
  3. python使用缩进来体现代码之间的逻辑关系-Python使用缩进来体现代码之间的逻辑关系。...
  4. 用python可以免费下载音乐吗-利用Python来下载会员歌曲!想让我充会员?不存在的!...
  5. 研究生自学python好找工作么-学完Python好找工作吗?为什么有人学完找不到工作?...
  6. python3.8.2安装教程-在服务器上安装python3.8.2环境的教程详解
  7. python语法教程-Python语法教程总结规范
  8. python画折线图详解-手把手教你Python yLab的绘制折线图的画法
  9. python怎么打开交互式窗口-如何在交互式环境中执行Python程序
  10. python计算每月工资-python税后工资计算器