c# 如何实现文件与文件夹加密收藏

QMCDecode:解密QQ音乐加密格式,实现音乐文件自由播放与备份 在数字音乐领域,流加密是一种常见的数据保护技术,通过对音频字节流进行可逆变换来实现格式绑定。其技术原理主要涉及字节混淆和映射变换,而非高强度密码学加密,这使得逆向工程成为可能。从技术价值看,这类解密工具解决了平台专属格式导致的互操作性问题,保障了用户对已购数字内容的合理使用权。在实际应用场景中,用户常面临音乐文件被锁定在特定播放器内、无法跨设备或离线自由播放的困境。针对QQ音乐的.qmc0、.qmc3、.qmcflac等加密格式,QMCDecode项目通过逆向工程提取密钥映射表,实现了高效的命令行解密,支持 阅读详情

c#加密文件只可以对文件本身加密,却不能对文件夹加密,经查询得知:是系统限制了,不知道真假,大家可在查询,把结果告诉大家共享。其实系统已经集成了对文件夹和硬盘的加密的功能。下面是对单个文件的加密代码:

 引用中主要是添加了两个:using System.Security.Cryptography;     using System.IO;

源码(带有详细的注释):

       using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Security.Cryptography;
using System.IO;

namespace xiaoxia
{
    public partial class FileJiami : Form
    {
        public FileJiami()
        {
            InitializeComponent();
        }

        private void FileJiami_Load(object sender, EventArgs e)
        {

        }

        private void button1_Click(object sender, EventArgs e)
        {
            //文件浏览
            if (this.openFileDialog1.ShowDialog() == DialogResult.OK)
            {
                this.txtFileIn.Text = this.openFileDialog1.FileName;
                this.txtFileOut.Text = "填写名称和后缀";
            }
        }

        private void button2_Click(object sender, EventArgs e)
        {
            //文件加密
            if (this.txtFileIn.Text == "")
            {
                //输入文件检测
                MessageBox.Show("请选择加密文件!", "小侠提示您:", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return;
            }
            if (this.txtFileOut.Text == "")
            {
                //输出文件检测
                MessageBox.Show("请输入输出文件名!", "小侠提示您:", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return;
            }
            if (this.txtMima1.Text.Length < 6 || this.txtMima2.Text != this.txtMima1.Text)
            {
                //输入密码检测
                MessageBox.Show("请输入正确密码!", "小侠提示您:", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return;
            }
            //获得被加密文件名
            string myInFileName = this.txtFileIn.Text;
          
            //获得加密文件名
            string myOutFileName = this.txtFileOut.Text;
            //设定初始变量
            byte[] myDESIV={0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,};
            byte[] myDESKey ={ };
            //根据密码设置密钥大小
            string myKeyString = this.txtMima1.Text;
            if (myKeyString.Length == 6)
            {
                myDESKey = new byte[] { (byte)myKeyString[0], (byte)myKeyString[1], (byte)myKeyString[2], (byte)myKeyString[3], (byte)myKeyString[4], (byte)myKeyString[5], 0x07, 0x08 };

            }
            if (myKeyString.Length == 7)
            {
                myDESKey = new byte[] { (byte)myKeyString[0], (byte)myKeyString[1], (byte)myKeyString[2], (byte)myKeyString[3], (byte)myKeyString[4], (byte)myKeyString[5], (byte)myKeyString[6], 0x07};

            }
            if (myKeyString.Length >=8)
            {
                myDESKey = new byte[] { (byte)myKeyString[0], (byte)myKeyString[1], (byte)myKeyString[2], (byte)myKeyString[3], (byte)myKeyString[4], (byte)myKeyString[5], (byte)myKeyString[6], (byte)myKeyString[7] };

            }
            //创建输入和输出文件流
            FileStream myInFileStream = new FileStream(myInFileName, FileMode.Open, FileAccess.Read);
            FileStream myOutFileStream = new FileStream(myOutFileName, FileMode.OpenOrCreate, FileAccess.Write);
            myOutFileStream.SetLength(0);
            //每次的中间流
            byte[] inSertData = new byte[100];
            //代表已经加密流的大小
            int completedLength = 0;
            //代表要加密文件总的大小
            long inFileSize = myInFileStream.Length;
            //创建DES对象
            DES myDES = new DESCryptoServiceProvider();
            //创建加密流
            CryptoStream enCrytoStream = new CryptoStream(myOutFileStream, myDES.CreateEncryptor(myDESKey, myDESIV), CryptoStreamMode.Write);

            //从输入文件中读取流,然后加密到输出文件流
            while (completedLength < inFileSize)
            {
                //每次写入加密文件的数据大小
                int length = myInFileStream.Read(inSertData, 0, 100);
                enCrytoStream.Write(inSertData, 0, length);
                completedLength += length;
            }
            //关闭流
            enCrytoStream.Close();
            myInFileStream.Close();
            myOutFileStream.Close();
            MessageBox.Show("文件加密操作成功!", "小侠提示您:", MessageBoxButtons.OK, MessageBoxIcon.Information);

        }

      …………

      上面是加密的代码,解密的代码几乎和上面完全一样,步骤思路完全一样。看下面,可对比上面:

主要是在try()里面有以下实现,其他代码相同,略:

       //获得要解密的文件名
        //获得要保存的文件名
        //设定初始向量
        //根据密码算出密钥
        //创建输入和输出文件流
        //每次的中间流
        //代表已经加密流的大小
        //代表要加密文件总的大小
        //创建DES对象
         //创建解密流
         //从输入文件中读取流,然后解密到输出文件中
                 while (myCompletedSize < myFileSize)
                {
                       //每次写入加密文件的数据大小
                 }
                //关闭流

     这里和加密的区别之处在于创建DES对象和创建解密流上,这里应该是:

      //创建DES对象
                DES myDES = new DESCryptoServiceProvider();
                //创建解密流
                  CryptoStream deCrytoStream = new CryptoStream(myOutFileStream, myDES.CreateDecryptor(myDESKey, myDESIV), CryptoStreamMode.Write);

       和上面解密代码对比即可得知,很简单。

       至于系统自带的文件夹和硬盘加密方法简单介绍,大家可参阅:http://zhidao.baidu.com/question/11126052.html?si=1

【Unity精华一记】特殊文件夹 Unity中的特殊文件夹 阅读详情

相关推荐

c#文件夹及文件加密

c#文件夹及文件加密,本代码重点在怎么递归建立文件夹及其中的文件实施加密,加密算法网上一大堆,我就不特别弄了。不懂的请留言。可能下载分比较高,但是也是自己想了很久才弄出来的,所以得点分也会高兴高兴有动力- -。

C# 文件夹加密

可以加密文件内容,也可以对文件夹本身进行加密,本文对文件夹加密。 一、指定或生成一个密钥 1)指定的密钥 1 /// <summary> 2 /// 密钥,这个密码可以随便指定 3 /// </summary> 4 public static string sSecretKey = "?\a??64(...

weixin_34107955的博客 3288

C# 文件夹加密 程序及源码 .net文件夹加密程序及源码 无BUG版本

打开密码xmilin 原理 通过调用WINDOWS 的 文件夹 BUG 如果完全加密的话,可隐藏CMD命令

C# 实现文件加解密(1):加密文件

C# 实现文件加密方法

lainiao110的专栏 1289

C#文件夹加密有源代码!

深度剖析各种加密方法!源码可直接调试! ublic static void F加密UTF8文件(string sInputFilename, string sOutputFilename, string sKey) { FileStream fsInput = new FileStream(sInputFilename, FileMode.Open, FileAccess.Read); FileStream fsEncrypted = new FileStream(sOutputFilename, FileMode.Create, FileAccess.Write); DESCryptoServiceProvider DES = new DESCryptoServiceProvider(); DES.Key = System.Text.UTF8Encoding.Default.GetBytes(sKey); DES.IV = System.Text.UTF8Encoding.Default.GetBytes(sKey); ICryptoTransform desencrypt = DES.CreateEncryptor(); CryptoStream cryptostream = new CryptoStream(fsEncrypted, desencrypt, CryptoStreamMode.Write); byte[] bytearrayinput = new byte[fsInput.Length]; fsInput.Read(bytearrayinput, 0, bytearrayinput.Length); cryptostream.Write(bytearrayinput, 0, bytearrayinput.Length); cryptostream.Close(); fsInput.Close(); fsEncrypted.Close(); }

C#文件夹加密

将文件夹伪装成系统的文件夹,如我的电脑,本程序将文件夹伪装成我的电脑

解放你的音乐收藏:NCM加密文件一键转换全攻略

还在为网易云音乐下载的歌曲无法在其他设备播放而烦恼吗?专业级C#图形界面工具ncmdumpGUI为你彻底解决这一难题。这款功能强大的转换工具能够快速将受保护的NCM格式文件转换为通用MP3格式,让你真正拥有个人音乐库的完全使用权。 ## 🎯 工具核心价值解析 ncmdumpGUI不仅仅是一个简单的格式转换器,更是一个完整的音乐文件解放方案。它采用先进的解密算法,在保证音质无损的前提下,完整保

gitblog_00385的博客 819

ads传统功放设计笔记(3)

传统功放设计的流程一般包括以下这些步骤: 1、明确设计目标 2、选择功放管子 3、确定静态工作点 4、设计偏置电路 5、判断稳定性 6、负载与源牵引 7、输入输出阻抗匹配 8、原理图优化 9、大信号仿真 10、版图设计 11、版图联合仿真 12、pcb设计 第二节我们设计仿真了功放的原理图。之后我们需要对版图进行设计和仿真。 10、版图设计 首先将S参数控件都打叉,还要去掉电源、源负载阻抗、地、芯片、电容。在原先电容和芯片的位置加上gap,设置好长度和间隔。之后在电源引脚、输入输出引脚和隔离的两端加上端口。

qq_40995480的博客 6029

从加密到自由:如何用ncmdumpGUI解锁你的网易云音乐收藏

你是否曾经遇到过这样的情况:在网易云音乐下载了心爱的歌曲,想要在车载音响上播放,却发现文件格式不被支持?或者想在专业播放器上欣赏,却只能听到一片寂静?今天,我们来聊聊一个让你重新掌控音乐收藏的小工具——ncmdumpGUI,一个专门为Windows用户设计的NCM文件格式转换工具。 ## 音乐格式的困境:当加密成为障碍 音乐本应自由流动,但数字版权保护有时会给我们带来不便。网易云音乐的NCM格

gitblog_00026的博客 171

从内外参推导IPM变换方程及代码实现(生成AVM环视拼接图)

最近想实现AVM拼接,看了不少博客和论文,不过比较愚钝,一直没能很好理解原理,尤其是怎么在实现时把下文中Z1和Z2消除的,所以严谨的推导了一下对应的公式,如有不对,水平有限,烦请指出~IPM变换(逆透视变换),顾名思义,即将正常透视效应消除的变换,变换结果为鸟瞰图BEV(俯视图);AVM环视拼接一般是将车身前后左右的四个鱼眼相机拼接成环视图(也是俯视),其使用的单应矩阵将四个相机转到同一个俯视坐标系。

mxdsdo09的博客 4173

Vivado与Vscode无缝集成:高效Verilog开发环境搭建指南

本文详细介绍了如何将Vivado与Vscode无缝集成,打造高效的Verilog开发环境。通过替换Vivado默认编辑器为Vscode,配置必备插件和语法检查工具,开发者可以大幅提升FPGA项目的编码效率。文章还提供了代码片段、Testbench自动生成等高级技巧,帮助开发者快速上手这一集成方案。

weixin_33737774的博客 493

3分钟解锁你的网易云音乐收藏:ncmdumpGUI让加密NCM文件随处可播

还在为网易云音乐下载的NCM文件无法在其他设备播放而烦恼吗?ncmdumpGUI是一款免费的C#图形界面工具,专门解决网易云音乐加密NCM文件的转换问题,让你的音乐收藏真正实现跨平台播放自由。这款开源工具采用简洁直观的界面设计,即使没有任何技术背景的用户也能轻松上手,快速将加密的NCM文件转换为通用的MP3格式,保留完整的音质和元数据信息。 ## 为什么你的音乐需要解放? 你是否经历过这样的场

gitblog_01107的博客 397

深入浅出DNS系列(一)- DNS杂谈

黄丝玛:班达山,你好,我记性不好,你告诉我搜狐、新浪的网站IP地址好吗? 班达山:你问问DNS先生吧,他专门干这买卖的

jiangsd198的博客 4129

NCM文件转换工具全攻略:释放你的音乐收藏

在数字音乐时代,你是否曾为网易云音乐的NCM加密文件而烦恼?这些文件虽然保护了版权,却限制了我们的使用自由。ncmdumpGUI作为一款专业的C#图形界面工具,能够完美解决这一问题,让你真正拥有自己购买的音乐。 ## 工具准备与环境配置 ### 获取工具包 通过以下命令获取完整项目代码: ```bash git clone https://gitcode.com/gh_mirrors/nc/

gitblog_00901的博客 802

Adversarial Texture for Fooling Person Detectors in the Physical World

本文提出了对抗纹理的想法(AdvTexture),与基本补丁攻击不同对抗纹理可以生成任意大小,可以覆盖任意大小的不了,并且纹理的任何局部都有对抗性的效果。当衣服被对抗纹理覆盖是,摄像头捕捉到的每一个局部区域都可以攻击探测器,这成功解决了片段缺失的问题。提出了一种两阶段生成方法:基于环形收割的可扩展生成攻击(TC-EGA)来制作广告纹理。第一阶段,训练一个全卷积网络FCN作为生成器,通过采样随机潜变量作为输入来产生纹理(不同于GAN中传统的生成器架构,每一层都使用卷积运算)......

weixin_49171105的博客 1067

使用亚组分析进行子组分析并可视化森林图 - R语言

通过亚组分析和森林图的结合,我们可以更好地理解不同子组之间的差异和效果大小。当然,在实际应用中,还需要考虑多种因素,如样本量、异质性等,以得到更准确的结果和结论。每个森林图中的水平线代表了每个子组的效应估计,线的长度表示了该效应估计的置信区间。假设我们有一个包含研究对象的数据框(data frame),其中包括了治疗组和对照组的结果数据,以及一些可能的影响因素作为调整变量。在本例中,我们将比较两种不同的治疗方法(A和B)对结果变量的影响,并调整了一个额外的变量。是结果变量和对照组变量的列名。

2301_79326857的博客 1236

ncmdumpGUI:网易云音乐加密文件转换工具全解析

作为一款专注于音乐文件格式转换的桌面应用,ncmdumpGUI解决了网易云音乐加密格式(.ncm)的兼容性痛点,为音乐爱好者和开发者提供了开箱即用的解密转换方案。 ✅ **核心价值点** - **格式自由转换**:打破专有格式限制,将.ncm文件批量转换为标准MP3/FLAC格式 - **零成本上手**:无需命令行操作,通过直观图形界面完成全部转换流程 - **元数据完整保留**:自

gitblog_00367的博客 1062

2026年佰维存储数字IC笔试试卷带答案

建立时间是有效时钟沿到来前,输入数据必须稳定保持的最短时间。保持时间是有效时钟沿到来后,输入数据必须继续稳定保持的最短时间。

Open 103

ncmdumpGUI终极指南:轻松解密网易云音乐加密文件

还在为网易云音乐下载的ncm格式文件无法在其他播放器播放而困扰吗?ncmdumpGUI正是你需要的解决方案!这款免费的Windows桌面工具能够将加密的ncm文件转换为通用的MP3、FLAC等音频格式,让你的音乐收藏真正实现跨平台播放自由。无论你是想在车载音响、手机播放器还是电脑软件中欣赏已购音乐,ncmdumpGUI都能完美胜任。 ## 🎵 什么是ncmdumpGUI及其工作原理 ncmd

gitblog_00932的博客 951

博途PLC模糊PID控制(量化因子和比例因子)

参数"量化因子和比例因子",都是为了对清晰值进行比例变换而设置的,其作用是使变量按一定比例进行放大或缩小,以便和我们的模糊论域相匹配完成一一映射。这种变换对整个系统的工作性能也是有影响的。(其实相当于额外引入了比例作用,所以说模糊PID的调节是个系统工程)。限于本人能力,文中难免出现错误和不足,欢迎大家批评和指正。博途PLC的模糊PID控制完整算法可以参看下面这篇文章博途PLC模糊PID控制详解(SCL完整源代码+参数)_RXXW_Dor的博客-优快云博客。......

RXXW_Dor的博客 5269

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

网易云音乐NCM文件转换完整教程:从加密文件到通用格式

你是否遇到过在网易云音乐下载的歌曲无法在其他播放器使用的困扰?这通常是因为网易云音乐采用了NCM加密格式来保护版权。今天我们将深入解析如何轻松解决这个问题。 ## 问题背景分析 网易云音乐的NCM格式限制了音乐的跨平台使用,给用户带来了诸多不便: - 🚫 无法在车载音响系统播放 - 📵 不能导入到其他音乐应用程序 - 💻 第三方音频软件无法识别编辑 - 🎧 专业播放设备兼容性差 #

gitblog_00736的博客 1106

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

C# 读写类操作xml文件

http://blog.youkuaiyun.com/fishpowersoft/article/details/1957113 C#编写XML读写类操作xml文件 2007-12-21 11:47 17023人阅读 评论(13) 收藏 举报 xmlc#textboxstringbuttonuser 下面的例子是用C# 在asp.net 中实现对xml的操作,环境是

每天问问自己,你今天努力了吗? 1073

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

ncmdumpGUI:零基础掌握网易云音乐加密文件高效解决方案

当你从网易云音乐下载了喜爱的歌曲,却发现它们被锁定在NCM格式中无法在其他设备播放时;当你想要将收藏的音乐转移到MP3播放器,却因格式限制而束手无策时——ncmdumpGUI正是为解决这些痛点而生的专业工具。作为一款基于C#开发的开源图形界面应用,它能让任何人都能在3分钟内完成从加密NCM文件到通用音频格式的转换,彻底打破音乐文件的设备限制。本文将带你从核心价值认知到实际应用操作,全方位掌握这款工

gitblog_00154的博客 441

ncmdumpGUI终极指南:快速解锁网易云音乐NCM加密文件

你是否曾经在网易云音乐下载了心爱的歌曲,却发现只能在特定播放器上播放?那些被加密的.ncm文件就像被锁住的音乐宝盒,而今天我要介绍的ncmdumpGUI就是你打开这些宝盒的有效工具。这款基于C#开发的Windows图形界面工具能够将加密的NCM文件转换为通用的MP3格式,让你实现真正的音乐自由。 ## 为什么你的音乐文件被加密了? 想象一下这样的场景:你在网易云音乐购买了数字专辑,想要在车载音

gitblog_00164的博客 625

NCM文件解锁指南:用ncmdumpGUI重新掌控你的音乐收藏

想象一下这样的场景:你在网易云音乐精心收藏了数百首心爱的歌曲,准备将它们转移到车载播放器或专业音乐软件中享受更高质量的音质,却发现自己下载的NCM文件就像被锁在保险箱里的珍宝——看得见,却摸不着。这不是你的错,而是数字版权管理的限制。但今天,我要向你介绍一把能打开这把锁的钥匙:ncmdumpGUI。 ## 你的音乐不该被困在单一平台 你是否曾为这些情况感到困扰? 1. **设备兼容性噩梦**

gitblog_00497的博客 144
上一篇: 简单的MD5算法
下一篇: 软件中常见基础编程功能实现(不断改进加载中…)收藏
chenfujun2000
博客等级 码龄19年 8粉丝 13原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值