java代码:
C#代码:
using System.Security.Cryptography;
using System.IO;
// des加密函数
public string Encrypt(string pToEncrypt, string sKey)
{
// 创建des加密没
using (DESCryptoServiceProvider des = newDESCryptoServiceProvider())
{
// 得到UTF-8的数据源
byte[] inputByteArray =Encoding.UTF8.GetBytes(pToEncrypt);
// 设置key和iv密钥
des.Key = ASCIIEncoding.ASCII.GetBytes(sKey);
des.IV = ASCIIEncoding.ASCII.GetBytes(sKey);
//由于java是使用默认加密模式,C#默认是CBC,需要修改为ECB
des.Mode =CipherMode.ECB;
// 创建数据流并进行加密
MemoryStream ms = new MemoryStream();
using (CryptoStream cs = new CryptoStream(ms,des.CreateEncryptor(), CryptoStreamMode.Write))
{
cs.Write(inputByteArray, 0, inputByteArray.Length);
cs.FlushFinalBlock();
cs.Close();
}
// 关闭数据流
ms.Close();
return Convert.ToBase64String(ms.ToArray());
}
}