以前使用的File是操作小的文本文件,用的并不常见,FileStream(操作字节),可以操作所有格式的文件,用途较广泛

下面做一个通过文件流给文件加密解密的小软件.

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;namespace 文件加密
{public partial class Form1 : Form{public Form1(){InitializeComponent();}private void btnFile_Click(object sender, EventArgs e){OpenFileDialog ofd = new OpenFileDialog();ofd.Title = "请选择要加密的文件";//初始路径ofd.InitialDirectory = @"C:\Users\home\Desktop";ofd.Filter = "所有文件|*.*";ofd.ShowDialog();txtFile.Text = ofd.FileName;}private void btnCode_Click(object sender, EventArgs e){SaveFileDialog sfd = new SaveFileDialog();sfd.Title = "请选择要保存文件的路径";sfd.InitialDirectory = @"C:\Users\home\Desktop";sfd.Filter = "所有文件|*.*";sfd.ShowDialog();txtCodeFile.Text = sfd.FileName;//调用方法MakeCode( "加密");}private void btnUnCode_Click(object sender, EventArgs e){SaveFileDialog sfd = new SaveFileDialog();sfd.Title = "请选择要保存文件的路径";sfd.InitialDirectory = @"C:\Users\home\Desktop";sfd.Filter = "所有文件|*.*";sfd.ShowDialog();txtCodeFile.Text = sfd.FileName;//调用方法MakeCode("解密");}public void MakeCode(string content) {//1 先读取文件using (FileStream fsRead = new FileStream(txtFile.Text.Trim(), FileMode.OpenOrCreate, FileAccess.Read)){using (FileStream fsWrite = new FileStream(txtCodeFile.Text.Trim(), FileMode.OpenOrCreate, FileAccess.Write)){//设置进度条progressBar1.Maximum = (int)fsRead.Length;byte[] buffer = new byte[1024 * 1024 * 5];while (true){int r = fsRead.Read(buffer, 0, buffer.Length);if (r == 0){break;}byte passWord = 0;if (byte.TryParse(txtPassword.Text.Trim(), out passWord)&& content.Equals("加密")){for (int i = 0; i < buffer.Length; i++){buffer[i] += passWord;}}if (byte.TryParse(txtPassword.Text.Trim(), out passWord) && content.Equals("解密")){for (int i = 0; i < buffer.Length; i++){buffer[i] -= passWord;}}fsWrite.Write(buffer, 0, r);progressBar1.Value = (int)fsWrite.Length;}}MessageBox.Show("保存成功!");}}}
}

View Code

1 将普通视频文件通过此工具加密

2 现在打开文件

3 解密成功后打开文件

转载于:https://www.cnblogs.com/YK2012/p/6719597.html

步步为营-17-FileStream-文件加密/解密相关推荐

  1. 【C 语言】文件操作 ( 文件加密解密 | 解密文件 )

    文章目录 一.文件加密解密操作 1.解密整 4096 字节的数据 2.解密小于 4096 字节的数据 二.完整代码示例 1.文件加密操作 main.c 2.DES 加密解密头文件 des.h 3.第三 ...

  2. 【C 语言】文件操作 ( 文件加密解密 | 加密文件 )

    文章目录 一.文件加密解密操作 1.加密整 4096 字节的数据 2.加密小于 4096 字节的数据 二.完整代码示例 1.文件加密操作 2.DES 加密解密头文件 3.第三方 DES 加密解密函数库 ...

  3. (转)使用Vernam(维尔南/弗纳姆)算法实现文件加密解密[C#]

    原文:使用Vernam(维尔南/弗纳姆)算法实现文件加密解密[C#] 本文介绍如何通过Gilbert Sandford Vernam的算法实现一个简洁而又稳定的文件加密解密类.通过此类加密的数据是绝对 ...

  4. 使用WPF开发文件加密解密软件

    应用场景 在很多情况下,我们希望对一些比较私密的文件进行加密,当自己需要查看的时候,再解密出来.因此,今天与大家分享一款自己以前用WPF开发的文件加密解密软件. 准备工作 开发环境:VisualStu ...

  5. c语言文件加密解密单词统计,C语言文件加密解密及单词统计程序.doc

    C语言文件加密解密及单词统计程序.doc (10页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 15.9 积分  高级语言程序设计 课程设计学 院 计算 ...

  6. 简单文件加密解密系统(c++)

    简单文件加密解密系统(c++) 一.原理 二.实现思路 三.c++代码 四.运行结果 一.原理   为了实现加解密,首先需要一个码本文件.一个基本的码本文件包含26个字母,即a~z打乱顺序的结果,比如 ...

  7. 文件加密解密大师 v1.64 绿色

    Welcome to my blog! <script language="javascript" src="http://avss.b15.cnwg.cn/cou ...

  8. Linux下实现文件加密解密

    Linux下利用异或加密解密算法实现文件加密解密 1.新建三个文件file1.file2.file2,分别用于存放原始数据.加密数据.解密数据.打开文件1写入原始数据.如图所示: 2.利用vi文本编辑 ...

  9. 最新互普威盾4.62.0415 IPguard4.62电脑行为管理 各类文件加密解密 威盾4.61 IP-guard4.62 威盾4.54 IP-guard3.5 IPguard4.5

    最新互普威盾4.62.0415 IPguard4.62电脑行为管理 各类文件加密解密 威盾4.61 IP-guard4.62 威盾4.54 IP-guard3.5 IPguard4.5 互普威盾IP- ...

  10. 每日10行代码156:Python实现简单的文件加密解密

    我常用的文件加密解密的工具是宏杰加密,但是前两天打开后发现要强制升级,升级后软件变成vip才能使用,并且不能降级.有一天,我突然想起来自己是不是可以用Python写一个加密的工具.于是就动手开是写了. ...

最新文章

  1. 图解半监督学习FixMatch,只用10张标注图片训练CIFAR10
  2. python【力扣LeetCode算法题库】19-删除链表的倒数第N个节点
  3. oracle数据库怎么导出dat文件_论将数据从数据库导出为dat格式.docx
  4. 一些琐碎+分不清的知识点
  5. 1029 旧键盘 (20 分)(c语言)
  6. Your shell has not been properly configured to use 'conda activate'
  7. PyCharm怎么关闭端口,解决端口占用问题
  8. spring-boot-admin 2.0小试牛刀
  9. [古诗十九首] 西北有高楼 —— 无名氏
  10. 网络工程师Day10 以太网接口和链路配置
  11. 有哪些优秀好用的数据采集软件?这3款你都用过吗?
  12. 易语言5.9 免狗完美版下载+安装教程
  13. ADF实现主副控件联动的方法
  14. 核心单词Word List 6
  15. 单节点Elasticsearch健康状态为 yellow
  16. 数字化转型不是选择,是生存发展的必然。
  17. 微信扫码支付dome php,帝国cms 微信扫码支付 模式二 扫码付款demo
  18. 学习中的一些笔记,不懂的时候再来翻翻(持续更新)
  19. 必应词典软件案例分析
  20. 前向纠错FEC纠错编码原理

热门文章

  1. python导入模块有几种_Python中几种导入模块的方式总结
  2. java 注解 jpa_详解Spring Data JPA使用@Query注解(Using @Query)
  3. SpringBoot给属性赋值的几种方式以及JSR303校验
  4. mysql相交_PHP-Mysql相交结果
  5. excel处理后上传数据库
  6. java .class参数_java – 将.getClass()转换为类型参数
  7. html基本结构(头部需加上样式表),HTML基本结构、头部、注释(示例代码)
  8. 快速修剪技巧_20个相见恨晚的CAD画图神技巧,让你效率飞升!
  9. sqlserver 字符转数值_PLC根据寄存器数值查询MySQL/SQLServer数据库,将数据到寄存器...
  10. java exe 路径_Java程序获取执行自己的java.exe路径