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;
        }

相关文章推荐

常用加密方法及破解思路

1、直接明文保存数据。2、使用对称加密算法来保存数据,比如DES、3DES、AES、RC2、RC4、RC5和Blowfish等算法。加解密使用相同的秘钥。==》获取密钥破解3、使用非对称加密算法来保存...

3DES 加密解密

3DES又称Triple DES,是DES加密算法的一种模式,它使用3条56位的密钥对3DES数据进行三次加密。 由于客户端开发的接口调用容易被扒取,建议采用此方法加密数据传递。 通过动态更新密钥的方...

3DES 和 AES 加密算法的使用

3DES 介绍上篇文章已经介绍了 DES 算法的使用,并且也提到,在计算机计算速度特别快的今天,要破解 DES 加密过后的数据是完全有可能做到的,为什么呢?因为 DES 算法的密钥 也就64位,所有可...

PyCrypto —— 一个极好的信息安全python库

在网上发现一个极好的python库,用于信息安全的,叫PyCrypto: https://www.dlitz.net/software/pycrypto/ 又找了windows的版本: http:...

明明白白使用DES加密算法

                           ...

python实现DES加密算法和3DES加密算法

pyDes.py ############################################################################# # ...

python 封装3des加解密库

最近项目需要用到3des加解密,python写的3des加密速度太慢,所以考虑用c/c++完成,项目是在linux部署,而linux中openssl中包括3des加密,而且自己写的肯定没有大神们都用的...

使用Python进行AES加密和解密

本文参考于博客:http://www.cnblogs.com/kaituorensheng/p/4501128.html 高级加密标准(英语:Advanced Encryption Standar...
  • Nurke
  • Nurke
  • 2017-08-16 19:32
  • 754

python实现DES加密算法和3DES加密算法

############################################################################# # Docu...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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