c# des 加密如何转换成php实现

c#-------------
private string DES3Encrypt(string data, string key, string iv){
TripleDESCryptoServiceProvider DES = new TripleDESCryptoServiceProvider();
DES.Key = ASCIIEncoding.ASCII.GetBytes(key);
DES.IV = ASCIIEncoding.ASCII.GetBytes(iv);
DES.Mode = CipherMode.CBC;
DES.Padding = PaddingMode.PKCS7;
ICryptoTransform DESEncrypt = DES.CreateEncryptor();
byte[] Buffer = ASCIIEncoding.ASCII.GetBytes(data);
return Convert.ToBase64String(DESEncrypt.TransformFinalBlock(Buffer, 0, Buffer.Length));
}

php------------
public static function des($key,$iv,$str){
$len = strlen($str);
$str = self::pkcs7_pad($str, $len);
$td = mcrypt_module_open('tripledes', '', 'ecb', '');
mcrypt_generic_init($td, $key, $iv);
$encrypted_data = mcrypt_generic($td, $str);
mcrypt_generic_deinit($td);
mcrypt_module_close($td);
return base64_encode($encrypted_data);
}
public static function pkcs7_pad($text,$blocksize){
$pad = $blocksize - (strlen($text) % $blocksize);
return $text . str_repeat(chr($pad), $pad);
}
php加密后的串不对,问哪有问题?

1个回答

DES.Key = ASCIIEncoding.ASCII.GetBytes(key);

你确定这个是和C#里的一想的值么

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
php实现和c#一致的DES加密解密
php实现和c#一致的DES加密解密,可以从网上搜到一
php和c#一致的DES加密解密算法类
DES加解密算法,在C#与PHP中的通用类。 注意: 1、类中的秘钥key跟向量iv,均用的同样的值 2、编码均采用的utf-8 以下为具体代码,可以直接复制去进行实际测试 C#版代码: using System; using System.Data; using System.Configuration; using System.Web; using
C#/JAVA/PHP 互通DES加解密算法(ECB模式支持8位)
C#/JAVA/PHP 互通DES_EBC加密解密算法(支持8位)
DELPHI、PHP、C#通用DES编码解码单元 (DELPHI下使用的代码)
unit uDES; {*********************************************************} {* DELPHI、PHP、C#通用DES编码解码单元 *} {* blessed 2016-10-18 *} {****************************************
DES 加密后转16进制输出
+ (NSString *) encryptUseDES:(NSString *)plainText key:(NSString *)key {     NSString *ciphertext = nil;     const char *textBytes = [plainText UTF8String];     size_t dataLength = [plainTex
PHP中DES加密解密实例代码
DES加解密类文件: <?php class DES { var $key; var $iv; //偏移量 function DES( $key, $iv=0 ) { //key长度8例如:1234abcd $this->key = $key; if( $iv == 0 ) { $this->iv = $key; } else { $t
c#与java DES加密互转问题
c#与java DES加密互转问题
C#DES加密,JavaDES解密,另转C#和Java实现Des完整代码
C#做DES有加密向量IV,Java常见方式是没有的。
C#DES标准ECB加密解密示例源码
C#DES标准ECB加密解密示例源码,根据标准的C改的源码,与网上所搜索到的完全不一样,可以支持中文为密钥的加密,也可以支持为中文字符串的加密,如,密钥为:替天行道,明文为:来自替天行道的C#DES标准ECB加密解密示例源码,加密后为:16505C9E77FA5959E9F6F6FEB031A9D35DEF8F38134311E850A0081B1A6205EBCCBFFABE291EC7D2A462B2A7E6AA1734B741867CDF093408,解密也是一样的。值得参考
php中des加密解密简单实现
php的des加密中ecb模式加密。 注意本段代码最后转化为16进制。 注意本段代码最后转化为16进制。 注意本段代码最后转化为16进制。
DES CBC模式加密算法php与java互通
在工作中因为一些原因导致DES CBC加密在php和java上无法相互加解密导致无法互通。经过网上的查找一些资料后,可以实现相互加解密。记录下,以免忘记。
可以相互解密的C#版及C++版DES算法代码(包括ECB、CBC模式,Zeros、PKCS7填充,以及Base64编解码)
稍后补代码。
PHP版DES算法加密数据(3DES)
PHP版DES算法加密数据(3DES) 可与java的DES(DESede/CBC/PKCS5Padding)加密方式兼容 不废话  直接上代码 ,这些代码都是从网上各个大神那里收集来的 如有不对  请多多指出哈! 由于太多了  就不知道怎么感谢了 代码如下 &lt;?php /** * Created by PhpStorm. * Title:PHP版DES加解密类 *
.NET中的DES加密解密
.NET中加密和解密的算法   System.Security.Cryptography名字空间包含了实现安全方案的类,例如加密和解密数据、管理密钥、验证数据的完整性并确保数据没有被篡改等等。   加密和解密的算法分为对称(symmetric)算法和不对称(asymmetric)算法。对称算法在加密和解密数据时使用相同的密钥和初始化矢量,典型的有DES、 TripleDES和Rijndael算
C#与Java同步加密解密DES算法
在实际项目中,往往前端和后端使用不同的语言。比如使用C#开发客户端,使用Java开发服务器端。有时出于安全性考虑需要将字符加密传输后,由服务器解密获取。本文介绍一种采用DES算法的C#与Java同步加密解密的代码。
在C#环境和C环境(嵌入式)之间使用DES进行加密、解密
DES是一种比较常见的平衡可逆加密算法。在网上找这个算法的代码,各种语言都能找出很多。这种算法有时需要在不同的语言环境之间配合使用:如在Server服务器上和与之连接的嵌入式客户端上配合使用。从网上下载的算法经常会同一组密匙和明文,加密后得到的密文却不相同,甚至连密文长度都不同。这其实并不是算法本身的问题,而是DES也存在不同的模式、配置。这里列举可以配对使用的C和C#的DES算法。希望对大家有所
php des 加密解密实例
des加密是对称加密中在互联网应用的比较多的一种加密方式,php 通过mcrypt扩展库来支持des加密,要在Php中使用des加密,需要先安装mcrypt扩展库 下面是加密解密的实例 $iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB); $iv = mcrypt_create_iv($iv_s
C#对字符串加密解密 DES
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Security; using System.Security.Cryptography; using System.IO; namespace ConsoleApplication1 { cl
PHP版本DES加密解(对应.net版与JAVA版)
最近由于项目需要,需要与.net,java进行对接,其中有DES加解密这块。 发现他们两个的DES并不通用。 <?php /** * * DES FOR .NET版本 * @author Administrator * */ class DES_NET{ var $key; var $iv; //偏移量 function DES_NE
php实现 DES/CBC/PCCS5padding 加解密模式
<?php /* 名称:DES/CBC/PCCS5padding 模式加解密测试模块 功能:测试 使用 DES/CBC/PCCS5padding 模式进行加解密的模块 作者: 更新时间: */ //Quick Test $h_user_password = “”; $token_secret = ""; $token_key_with_oauth_nonce = “”;
c++ c#同时实现DES加密解密
c++和c#同时实现DES加密解密
php的DES加密算法
代码比较简单,直接贴代码: <?php /** *@see Yii CSecurityManager; */ class Des{ public static function encrypt($data,$key){ $module=mcrypt_module_open('des','', MCRYPT_MODE_CBC,''); $key=subs
CBC模式DES加密
采用CBC模式的DES加密算法,可通过用户设置密码,对文件进行加解密操作,是重要的学习信息安全的实验。
openssl des 加密解密
最近在整理关于数据加密解密的资料,整合C/C++、.NET、JAVA三个平台的数据加解密资料,使得三个平台调用相关函数加解密得到的结果都是一致的,兼容的。 ps:最后整理的资料可能会以电子版pdf的形式发出来,如果对您有益,请关注一下。 C/C++是直接使用openssl库的crypte模块进行数据加解密的,下面介绍一下openssl/crypt调用DES进行加解密的过程。代码很容易理
DES加密的C++实现(带每轮加密的中间结果)
DES加密的C++实现(带每轮加密的中间结果)
php 基于PKCS7算法的加解密
/** * PKCS7Encoder class * * 提供基于PKCS7算法的加解密接口. */ class PKCS7Encoder { public static $block_size = 32; /** * 对需要加密的明文进行填充补位 * @param $text 需要进行填充补位操作的明文 * @return 补齐明文字符串 */ function en...
C#, Java, PHP, Python和Javascript几种语言的AES加密解密实现【多种语言AES/CBC/PKCS5Padding通用加解密数据】
http://www.tuicool.com/articles/nERnqe http://www.cnblogs.com/AloneSword/p/3485912.html【这里有具体的对称和非对称算法的详细介绍】 c#里面的AES加密解密 在visual studio中写的c#代码 using System; using System.Collections.Gen
C#与C之间进行DES加密解密
在网上找了很多的例子代码,进行DES加密解密,都是成对出现; 但只能用于自己(自己加密,自己解密),想实现C#代码加密解密后在C代码中进行解密加密,一直失败,花了一天时间,记录一下。
PHP DES加密/解密 ECB 、pkcs5/pkcs7
加密方式与http://tool.chacuo.net/cryptdes加密方式一样 <?php echo ''; $key = '1234'; $jiami = encrypt('123',$key); echo $jiami.''; echo decrypt($jiami,$key); //加密 function encrypt($str, $key){ $block
PHP的DES加解密函数 与JAVA兼容
PHP可以使用mcrypt_encrypt进行DES加密与解密,但实际上操作,你会发现它与JAVA的DES加密出来的字符串,有些不同。基本上是前半段一样,后半段不一样。找到PHP官方网站上对这个函数的文档,有人回复了,并给出了代码。经测,这样加密解密就跟JAVA中的兼容了。 If you want to be interoperable with other PKCS  #7 padding i
【案例】使用PHP的内置函数,通过DES算法对数据加密和解密
PHP中内置了一个功能强大的函数库,即Mcrypt。     其实,mcrypt本身就提供了强大的加密解密方法,并且支持很多流行的公开的加密算法,如DES,  TripleDES, Blowfish (默认), 3-WAY, SAFER-SK64, SAFER-SK128, TWOFISH, TEA, RC2 and GOST in CBC, OFB, CFB and ECB。   这里简单的
TripleDES之C#和PHP之间加密解密
在C#常用加密解密一文中,介绍了几个加密解密方法,其中有个如何使用对称加密算法DES,此次说下DES的升级版,TripleDES。DES和TripleDES之间的关系可以参考下面的博文。 对称加密DES和TripleDES重点内容是,如何分别在C#,PHP中使用TripleDES,然后可以让二者可以解密对方发送的加密内容。废话不多说,直接上两端的代码。C#代码using System; using
C#实现DES加密解密
DES全称为Data Encryption Standard,即数据加密标准。1997年数据加密标准DES正式公布,其分组长度为64比特,密钥长度为64比特,其中8比特为奇偶校验位,所以实际长度为56比特。现在DES已经被AES所取代。 DES原理和具体计算过程示例可以参考:DES加密教程详细解读 C#可以使用自带的类库简单的完成DES加密,主要用到以下三个类: MemoryStream ...
加密中的填充(padding)技术
From:http://hi.baidu.com/zeorliu/item/26ec5a3861f2348af4e4ad62   在实践中,大部分都采用pkcs7padding方式。 http://en.wikipedia.org/wiki/Padding_(cryptography) From Wikipedia, the free encyclopedia Padding method
C# 使用DES加密,解密字符串
1 DES类 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Security.Cryptography; using System.IO; namespace NoticeBoard { ///  /// DES加密解密算法
兼容PHP和Java的des加密解密代码分享
<?php class DES {     var $key;     var $iv; //偏移量        function DES($key, $iv=0)     {         $this->key = $key;         if($iv == 0)         {             $this->iv = $key;         }         else
php中实现3DES算法(ECB加密模式PKCS5Padding填充)
讲道理,一提到3DES算法,首先想到的是要和java做交互了== 现在3DES已经渐渐被抛弃了,尤其是ECB加密模式使用的更少了,但是没办法,业务需要,合作方用的是他,你头再铁也不能怎样,那就扒扒文档咯 网上完整的php实现以经不多了,CBC加密模式居多,所以我参考了好几篇文章,整理了一个class出来,共享上来,避免后来人踩坑 感谢前人的整理总结: PHP版3DES加解密类更新成
Javascript和C#真正可以交互的DES加解密代码
因项目需要,要用js加密后,提交给C#解密,在网上找了半天,网上有无数个版本,却找不到一个能互相使用的甚至就连都是js版本的,都不能互通,汗一个。 因为时间关系,没有去深究加密代码,就随便下载了一个JS版本的,并把它改写成C#版本的  这样JS加密后的结果,C#也能解密反之C#加密后的结果,JS也能解密  我把它发出来给大家共享吧 注:源代码是VS.Net2008版本创建的,里面包含js的加解密函...
LINUX、C#下使用DES算法CBC模式进行对称加密、解密
openssl是一个加密库,封装了多个算法,我们这里使用的是DES算法SBS模式。 一、准备OPENSSL的LINUX及C#库 openssl项目地址: https://www.openssl.org/ C#下使用自带库 二、操作函数 在C#下加密解密: using System.Text; using System.IO; using
PHP基于标准的CBC模式的DES加密算法
内容来自 https://xgs888.top/post/view?id=32 a)采用标准的CBC模式的DES加密算法; b)密钥长度为56位,唯一密钥; c)数据采用初始向量(VI)做互斥运算,VI唯一初始向量; d)所有协议数据的明文需要在尾部加上原始数据长度,再加上“ABCD”4个字母,然后按64位进行分组,不足64位的以“\0”补足,分组后的明文采用统
C# DES加密算法中向量的作用
DES一共就有4个参数参与运作:明文、密文、密钥、向量。为了初学者容易理解,可以把4个参数的关系写成:密文=明文+密钥+向量;明文=密文-密钥-向量。为什么要向量这个参数呢?因为如果有一篇文章,有几个词重复,那么这个词加上密钥形成的密文,仍然会重复,这给破解者有机可乘,破解者可以根据重复的内容,猜出是什么词,然而一旦猜对这个词,那么,他就能算出密钥,整篇文章就被破解了!加上向量这个参数以后,每块文
3des加密中- pkcs#5和pkcs#7填充的区别
pkcs#5和pkcs#7填充的区别 最近做到了关于加密和解密的部分。 使用算法AES的时候,涉及到数据填充的部分,数据的填充有很多种方案,用的比较多的有pkcs#5,pkcs#7, 下面的都是从网上转来的。结论就是在AES 的使用中,pkcs#5填充和pkcs#7填充没有任何区别。   PKCS #7 填充字符串由一个字节序列组成,每个字节填充该填充字节序列的长度。 假定块长
C#解密(DES)Java的加密结果
工作需要,要工C#实现Java的加密解密功能。资料有1.Java代码package com.sitech.crmpd.security; /** * 两级界面集成 加解密 * meixy 2013-03-14 */ import java.io.BufferedOutputStream; import java.io.File; import java.io.FileInput...
C#版本和javascript版本的DES加密函数(注:可以交互加解密)
因项目需要,要用js加密后,提交给C#解密,在网上找了半天,无数个版本,却不能互相使用 就随便下载了一个JS版本的,把它改写成C#版本的 这样JS加密后,C#也能解密 反之C#加密后,JS也能解密 共享给大家吧。 注:是VS.Net2008版本,里面包含js的加解密函数和C#的加解密函数
js前端des加密插件
html代码部分:<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <script type="text/javascript" src="des.js"></script> <script> funct
C#中DES的16进制加解密
再C#中,其实DESCryptoServiceProvider这个加密类,相比其它语言,如java是有所加强的,但默认设置的实现却不同,要解决与java等语言写的DES加密达到一致,需要对该类的有关属性进行设置。
使用openssl库实现des,3des加密
原文地址:http://blog.chinaunix.net/uid-25943311-id-3020013.html整理转载自:http://blog.csdn.net/xuplus/article/details/2607254主要是调整了一下格式,以及一些变量的类型,以解决在VC2008下无法编译通过的问题。#include #include #include #include
DES 加密 解密 iOS Android PHP
PHP代码 和 iOS 代码 摘自 http://blog.toright.com/posts/2657/ios-objective-c-與-php-des-加解密演算法實作.html 三个平台共用 一个密匙,尽量为8的倍数 1.php代码 <?php /** * PHP DES 加密程式 * * @param $key 密鑰(八個字元內) * @param $encrypt 要加密
des算法的C#实现
DES是Data Encryption Standard(数据加密标准)的缩写。它是一种用56位密钥来加密64位数据的方法。它的原理和算法就不在这里介绍了,网上这方面的资料很多。下面是我参照别人的代码修改的一个DES加密和解密的类。供大家参考:  1 public class EncryptUtility 2 { 3         #region DES 4         /// &amp;lt;su...
C# 常见加密解密类
大部分的加密类的使用方式是差不多的,其中MD5和SHA类似,均为不可逆;RSA位可加可解;DES和AES类似,均需要加密向量;文中所有明文加密后都转为了净荷明文。没必要转Byte转16进制字符串(难为不懂的?)!! 加密方式 加密向量 是否可逆 MD5、SHA 不需要 不可逆 RSA 不需要 可逆 AES、DES 需要 可逆
相关热词 c#导入fbx c#中屏蔽键盘某个键 c#正态概率密度 c#和数据库登陆界面设计 c# 高斯消去法 c# codedom c#读取cad文件文本 c# 控制全局鼠标移动 c# temp 目录 bytes初始化 c#
立即提问