2 wangyanfei110 wangyanfei110 于 2016.02.23 15:48 提问

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个回答

q107770540
q107770540   Ds   Rxr 2016.02.24 14:32

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

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

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
php实现和c#一致的DES加密解密
php实现和c#一致的DES加密解密,可以从网上搜到一
C#/JAVA/PHP 互通DES加解密算法(ECB模式支持8位)
C#/JAVA/PHP 互通DES_EBC加密解密算法(支持8位)
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
DES 加密后转16进制输出
+ (NSString *) encryptUseDES:(NSString *)plainText key:(NSString *)key {     NSString *ciphertext = nil;     const char *textBytes = [plainText UTF8String];     size_t dataLength = [plainTex
DELPHI、PHP、C#通用DES编码解码单元 (DELPHI下使用的代码)
unit uDES; {*********************************************************} {* DELPHI、PHP、C#通用DES编码解码单元 *} {* blessed 2016-10-18 *} {****************************************
C#DES加密,JavaDES解密,另转C#和Java实现Des完整代码
C#做DES有加密向量IV,Java常见方式是没有的。
c#与java DES加密互转问题
c#与java DES加密互转问题
php中des加密解密简单实现
php的des加密中ecb模式加密。 注意本段代码最后转化为16进制。 注意本段代码最后转化为16进制。 注意本段代码最后转化为16进制。
DES CBC模式加密算法php与java互通
在工作中因为一些原因导致DES CBC加密在php和java上无法相互加解密导致无法互通。经过网上的查找一些资料后,可以实现相互加解密。记录下,以免忘记。
用C#实现DES加密解密封装
using System;using System.Security.Cryptography;using System.Text;using System.IO;namespace Common<img id="_104_2343_Open_Image" onclick="function onclick(){this.style.display=none; document.g