C# 3DES加密及弱密钥处理

翻译 2016年08月29日 14:54:02
3DES加密,以及避过.net弱密钥检测。代码根据网上代码进行的修改
private static byte[] ThreeDES(byte[] key, byte[] str)
        {
            TripleDESCryptoServiceProvider tdsc = new TripleDESCryptoServiceProvider();
            tdsc.Padding = PaddingMode.None;

            byte[] IV = { 0xB0, 0xA2, 0xB8, 0xA3, 0xDA, 0xCC, 0xDA, 0xCC };
            //指定密匙长度,默认为192位
            tdsc.KeySize = 128;
            //使用指定的key和IV(加密向量)
            Type t = Type.GetType("System.Security.Cryptography.CryptoAPITransformMode");
            object obj = t.GetField("Encrypt", BindingFlags.Instance | BindingFlags.Static | BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.DeclaredOnly).GetValue(t);
            MethodInfo mi = tdsc.GetType().GetMethod("_NewEncryptor", BindingFlags.Instance | BindingFlags.NonPublic);
            ICryptoTransform desCrypt = (ICryptoTransform)mi.Invoke(tdsc, new object[] { key, CipherMode.ECB, null, 0, obj });
            tdsc.IV = IV;
            //加密模式,偏移
            tdsc.Mode = CipherMode.ECB;
            
            //进行加密转换运算
            //ICryptoTransform ct = tdsc.CreateDecryptor();
            //8很关键,加密结果是8字节数组
            byte[] results = desCrypt.TransformFinalBlock(str, 0, 8);

            return results;
        }

C# 3DES加密解密算法

using System; using System.Collections.Generic; using System.Text; using System.Security.Cryptograph...

C#实现3DES加密24位密钥

    using System;    using System.Collections.Generic;    using System.Text;    using System.IO;    ...

JAVA和C# 3DES加密解密

最近 一个项目.net 要调用JAVA的WEB SERVICE,数据采用3DES加密,涉及到两种语言3DES一致性的问题, 下面分享一下, 这里的KEY采用Base64编码,便用分发,因为Java...
  • sdfkfkd
  • sdfkfkd
  • 2010年11月12日 13:59
  • 11736

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

Java和C#中3DES的加密与解密

最近在工作中遇到将Java环境的一个用户ID用表单形式传递给.net环境做校验,考虑到不能将用户ID作为明文传递,因此利用简单的3DES进行加密解密操作。 需要注意的就是: (1)两种环境下3DE...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

C#(TripleDES)对应Java(3DES)加密工具类

3DES又称Triple DES,是DES加密算法的一种模式,它使用3条56位的密钥对3DES数据进行三次加密。 3DES加密过程为:C=Ek3(Dk2(Ek1(P))) 3DES解密过程...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

C# 3DES加密解密

/// /// DES3加密解密 /// public class Des3 { #region CBC模式** /// ...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C# 3DES加密及弱密钥处理
举报原因:
原因补充:

(最多只允许输入30个字)