zoukankan      html  css  js  c++  java
  • c# 对加密的MP4文件进行解密

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    using System.IO;
    
    
    namespace WindowsFormsApplication9
    {
        public partial class Form1 : Form
        {
            private string res = "";
            public Form1()
            {
                InitializeComponent();
            }
    
    
            private void button1_Click(object sender, EventArgs e)
            {
                OpenFileDialog ss = new OpenFileDialog();
                if (ss.ShowDialog() == DialogResult.OK)
                {
                    res = ss.FileName;
                }
                fun();
            }
            public void fun()
            {
                FileInfo fileinfo = new FileInfo(res);
                long len =160;
                MessageBox.Show(len.ToString());
                byte[] buff1 = new byte[len];
                byte[] buff2 = new byte[160];
                FileStream fs = new FileStream(res, FileMode.Open);
                fs.Read(buff1, 0, (int)len);
                fs.Close();
                OppositeByteArray(buff1,ref buff2);
                FileStream fw = new FileStream(res, FileMode.Open);
                for (int i = 0; i < 160; i++)
                {
                    fw.WriteByte(buff2[i]);
                }
                //fw.Write(buff1, 0, (int)len);
                fw.Write(buff1,0,(int)len);
                fw.Close();
                fileinfo = new FileInfo(res); 
            }
            /// <summary>
            /// 把一个字节数组按位取反,得到一个新的字节数组
            /// </summary>
            /// <param name="inputData"></param>
            /// <param name="outputData"></param>
            public static void OppositeByteArray(byte[] inputData, ref byte[] outputData)
            {
                int len = inputData.Length;
    
    
                int temp;
    
    
                for (int i = 0; i < len; i++)
                {
                    temp = (int)inputData[i];//原字节数组字节转成int型
                    outputData[i] = (byte)~temp;//取反后赋给输出字节数组
    
    
                }
    
    
            }
        }
    }
  • 相关阅读:
    C# extern关键字的用法
    C#自定义集合类(二)
    C#自定义集合类(一)
    LINQ中交集、并集、差集、去重(十四)
    LINQ中转换操作符(十三)
    Oracle实现连乘和求和
    适配器模式
    HTTP网络协议与手写Web服务容器
    代理模式
    设计模式的几条家规
  • 原文地址:https://www.cnblogs.com/shugen/p/6863038.html
Copyright © 2011-2022 走看看