PHP的DES加解密函数 与JAVA兼容
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
- function encrypt($str, $key)
- {
- $block = mcrypt_get_block_size('des', 'ecb');
- $pad = $block - (strlen($str) % $block);
- $str .= str_repeat(chr($pad), $pad);
- return mcrypt_encrypt(MCRYPT_DES, $key, $str, MCRYPT_MODE_ECB);
- }
- function decrypt($str, $key)
- {
- $str = mcrypt_decrypt(MCRYPT_DES, $key, $str, MCRYPT_MODE_ECB);
- $block = mcrypt_get_block_size('des', 'ecb');
- $pad = ord($str[($len = strlen($str)) - 1]);
- return substr($str, 0, strlen($str) - $pad);
- }
- ?>
PHP的DES加解密函数 与JAVA兼容相关推荐
- 【密码学】DES加解密原理及其Java实现算法
DES简介 DES(Data Encryption Standard)是对称加解密算法的一种,由IBM公司W.Tuchman和C.Meyer在上个世纪70年代开发. 该算法使用64位密钥(其中包含8位 ...
- MATLAB 实现DES加解密
程序下载链接:https://download.csdn.net/download/m0_56241309/87456325 实验题目:DES加解密 一.实验目的 实验环境: Windows 11操作 ...
- 一个java的DES加解密类转换成C#
原文:一个java的DES加解密类转换成C# 一个java的des加密解密代码如下: //package com.visionsky.util;import java.security.*; //im ...
- java 和 c# 下的RSA证书+AES+DES加解密实现
java 和 c# 下的RSA+AES+DES加解密实现 前言 在实际应用中,经常有需要使用加解密的情况,RSA\AES\DES是比较常用的几种加解密方式,使用和实现方式都比较成熟可靠,本文简要介绍一 ...
- java实现DES加解密算法
以下是我用java实现的DES算法,实现中可能存在一点问题自己没空去找,但我觉得DES的算法过程肯定没错!现在暂时没时间去找到底是哪里的问题,有空再瞧瞧自己的代码喽! makekey.java是生成密 ...
- 密码学入门1——凯撒密码和三重DES加解密
实验目的 1.完成第一个入门加解密--凯撒密码 2.完成当下较为流行的三重DES加解密技术 3.熟悉所学的实际运用方向 实验准备 硬件:计算机或笔记本电脑 操作系统:Mac操作系统 IDE环境:Ecl ...
- PHP 基础篇 - PHP 中 DES 加解密详解
2019独角兽企业重金招聘Python工程师标准>>> 一.简介 DES 是对称性加密里面常见一种,全称为 Data Encryption Standard,即数据加密标准,是一种使 ...
- js des加密 java_Java实现与JS相同的Des加解密算法完整实例
本文实例讲述了Java实现与JS相同的Des加解密算法.分享给大家供大家参考,具体如下: 这里演示java与js实现相同的des加解密算法,不多说,不废话,直接上代码 一.java实现 package ...
- LKT系列加密芯片DES加解密以及OpenSSL DES接口实现加解密
1.测试目标 使用已经预置DES密钥的LKT4201N系列加密芯片完成运算 2.测试环境 本示例运行环境为windows系统.测试软件LCS KIT.LKT-K100开发板. 3.测试步骤 注意:&q ...
最新文章
- VR技术怎么落地,行业应用怎么挖掘,来江苏虚拟现实发展大会侃侃
- (CodeForces 548B 暴力) Mike and Fun
- Linux (四)其他一些服务的实现
- 觉得UtraWebGrid老不稳定
- FindPrivateKey X509
- boost::multi_index模块相关的测试程序
- dosubmit 成功不成功_供卵试管不成功的原因是什么?一般几次成功?
- idea中git分支的使用
- th:each嵌套_难题:嵌套的computeIfAbsent
- ubuntu下 windows的zip文件打开,中文目录和文件名乱码
- linux下用rpm 安装jdk
- python程序30行_Python30行代码实现对pdf文字内容的提取
- cdh mysql sqoop 驱动_[bigdata-003]在cdh 5.7下 用sqoop1将mysql数据库数据导入到hdfs的方式...
- mysql数据库表格导出为excel表格
- 【图像融合】基于matlab curvelet变换图像融合(评价指标)【含Matlab源码 781期】
- NATS 分布式消息队列系统
- 生而美者,若知之,若不知之,若闻之,若不闻之
- mysql数据库解锁
- Doom3引擎初始化分析
- python 决策树分类 泰坦尼克生存预测
热门文章
- div:给div加滚动栏 div的滚动栏设置
- 【随感】看老科和当当的回眸相视
- python使用缩进来体现代码之间的逻辑关系-Python使用缩进来体现代码之间的逻辑关系。...
- 用python可以免费下载音乐吗-利用Python来下载会员歌曲!想让我充会员?不存在的!...
- 研究生自学python好找工作么-学完Python好找工作吗?为什么有人学完找不到工作?...
- python3.8.2安装教程-在服务器上安装python3.8.2环境的教程详解
- python语法教程-Python语法教程总结规范
- python画折线图详解-手把手教你Python yLab的绘制折线图的画法
- python怎么打开交互式窗口-如何在交互式环境中执行Python程序
- python计算每月工资-python税后工资计算器