ximalangyashan 2022-08-12 20:59 采纳率: 98.9%
浏览 27
已结题

C#反编译找到解密方法,怎么使用这个方法解密数据?

public void DesDecrypt()
{
byte[] rgbIV = new byte[]
{
18,
52,
86,
120,
144,
171,
205,
239
};
try
{
byte[] bytes = Encoding.UTF8.GetBytes(this._decryptKey.Substring(0, 8));
DESCryptoServiceProvider descryptoServiceProvider = new DESCryptoServiceProvider();
byte[] array = Convert.FromBase64String(this._inputString);
MemoryStream memoryStream = new MemoryStream();
CryptoStream cryptoStream = new CryptoStream(memoryStream, descryptoServiceProvider.CreateDecryptor(bytes, rgbIV), CryptoStreamMode.Write);
cryptoStream.Write(array, 0, array.Length);
cryptoStream.FlushFinalBlock();
Encoding encoding = new UTF8Encoding();
this._outString = encoding.GetString(memoryStream.ToArray());
}
catch (Exception ex)
{
this._noteMessage = ex.Message;
}
}


密文64Cic1ERUP9n2OzxuKl9Tw==
盐LIywB/zHFDTuEA1LU53Opg==

  • 写回答

2条回答 默认 最新

  • CSDN专家-showbo 2022-08-12 21:01
    关注

    这个是类的方法,可以建立属性_inputString【密文】_outString【明文】,_noteMessage【出错时的错误信息】,_decryptKey【密钥】,解密得到明文admin5566,示例如下

    
    using System;
    using System.Text;
    using System.Security.Cryptography;
    using System.IO;
    namespace Demo
    {
        public class Des
        {
            /// <summary>
            /// 密文
            /// </summary>
            public string _inputString { get; set; }
     
            /// <summary>
            /// 明文
            /// </summary>
            public string _outString { get; set; }
            /// <summary>
            /// 出错时的错误信息
            /// </summary>
            public string _noteMessage { get; set; }
            /// <summary>
            /// 密钥
            /// </summary>
            public string _decryptKey { get; set; }
            public void DesDecrypt()
            {
                byte[] rgbIV = new byte[]
                {
                    18,
                    52,
                    86,
                    120,
                    144,
                    171,
                    205,
                    239
                };
                try
                {
                    byte[] bytes = Encoding.UTF8.GetBytes(this._decryptKey.Substring(0, 8));
                    DESCryptoServiceProvider descryptoServiceProvider = new DESCryptoServiceProvider();
                    byte[] array = Convert.FromBase64String(this._inputString);
                    MemoryStream memoryStream = new MemoryStream();
                    CryptoStream cryptoStream = new CryptoStream(memoryStream, descryptoServiceProvider.CreateDecryptor(bytes, rgbIV), CryptoStreamMode.Write);
                    cryptoStream.Write(array, 0, array.Length);
                    cryptoStream.FlushFinalBlock();
                    Encoding encoding = new UTF8Encoding();
                    this._outString = encoding.GetString(memoryStream.ToArray());
                }
                catch (Exception ex)
                {
                    this._noteMessage = ex.Message;
                }
            }
        }
        class Program
        {
            static void Main(string[] args)
            {
                var d = new Des { _inputString= "64Cic1ERUP9n2OzxuKl9Tw==", _decryptKey= "LIywB/zHFDTuEA1LU53Opg==" };
                d.DesDecrypt();
                Console.WriteLine(d._outString);
     
                Console.ReadKey();
            }
        }
    }
    
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 8月21日
  • 已采纳回答 8月13日
  • 创建了问题 8月12日

悬赏问题

  • ¥15 运筹学中在线排序的时间在线排序的在线LPT算法
  • ¥30 求一段fortran代码用IVF编译运行的结果
  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 lammps拉伸应力应变曲线分析
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
  • ¥15 请问Lammps做复合材料拉伸模拟,应力应变曲线问题
  • ¥30 python代码,帮调试,帮帮忙吧