3DES加密解密

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

3DES加密解密C#3DES加密解密,JAVA、PHP可⽤
using System;
using System.Security.Cryptography;
using System.Text;
namespace TT.Utilities.Encrypt
{
public class DES3
{
///<summary>
/// utf-8编码
///加密模式ECB,填充类型PKCS7
///</summary>
///<param name="str_content"></param>
///<param name="str_keys">24位key</param>
///<returns></returns>
public static string DES3_Encrypt(string str_content, string str_keys)
#region
{
Encoding encoding = Encoding.UTF8;
byte[] content = encoding.GetBytes(str_content);
byte[] keys = encoding.GetBytes(str_keys);
TripleDESCryptoServiceProvider tdsc = new TripleDESCryptoServiceProvider();
//指定密匙长度,默认为192位
tdsc.KeySize = 128;
//使⽤指定的key和IV(加密向量)
tdsc.Key = keys;
//tdsc.IV = IV;
//加密模式,偏移
tdsc.Mode = CipherMode.ECB;
tdsc.Padding = PaddingMode.PKCS7;
//进⾏加密转换运算
ICryptoTransform ct = tdsc.CreateEncryptor();
//8很关键,加密结果是8字节数组
byte[] results = ct.TransformFinalBlock(content, 0, content.Length);
string base64String = Convert.ToBase64String(results);
return base64String;
}
#endregion
///<summary>
/// utf-8编码
///加密模式ECB,填充类型PKCS7
///</summary>
///<param name="base64_content"></param>
///<param name="str_keys">24位key</param>
///<returns></returns>
public static string DES3_Decrypt(string base64_content, string str_keys)
#region
{
Encoding encoding = Encoding.UTF8;
byte[] content = Convert.FromBase64String(base64_content);
byte[] keys = encoding.GetBytes(str_keys);
TripleDESCryptoServiceProvider tdsc = new TripleDESCryptoServiceProvider();
//指定密匙长度,默认为192位
tdsc.KeySize = 128;
//使⽤指定的key和IV(加密向量)
tdsc.Key = keys;
//tdsc.IV = IV;
//加密模式,偏移
tdsc.Mode = CipherMode.ECB;
tdsc.Padding = PaddingMode.PKCS7;
//进⾏加密转换运算
ICryptoTransform ct = tdsc.CreateDecryptor();
//8很关键,加密结果是8字节数组
byte[] results = ct.TransformFinalBlock(content, 0, content.Length);
string oriString = encoding.GetString(results);
return oriString;
}
#endregion
}
}。

相关文档
最新文档