• 大小: 48KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-26
  • 语言: C#
  • 标签: C#;des  

资源简介

开发环境VS2013;编程语言C#;用des对称加解密方法对任意文本文件进行加解密操作。可通过选择读入文本文件的方式,对文件进行操作。程序已编译运行通过,可放心使用。

资源截图

代码片段和文件信息

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using System.Security.Cryptography;
using System.IO;

namespace FileLock
{
    /// 
    /// 异常处理类
    /// 

    public class CryptoHelpException : ApplicationException
    {
        public CryptoHelpException(string msg) : base(msg) { }
    }

    /// 
    /// CryptHelp
    /// 

    public class DESFileClass
    {
        private const ulong FC_TAG = 0xFC010203040506CF;

        private const int BUFFER_SIZE = 128 * 1024;

        /// 
        /// 检验两个Byte数组是否相同
        /// 

        /// Byte数组
        /// Byte数组
        /// true-相等
        private static bool CheckByteArrays(byte[] b1 byte[] b2)
        {
            if (b1.Length == b2.Length)
            {
                for (int i = 0; i < b1.Length; ++i)
                {
                    if (b1[i] != b2[i])
                        return false;
                }
                return true;
            }
            return false;
        }

        /// 
        /// 
        /// 

        /// 密码
        /// 
        /// 加密对象
        private static SymmetricAlgorithm CreateRijndael(string password byte[] salt)
        {
            PasswordDeriveBytes pdb = new PasswordDeriveBytes(password salt “SHA256“ 1000);

            SymmetricAlgorithm sma = Rijndael.Create();
            sma.KeySize = 256;
            sma.Key = pdb.GetBytes(32);
            sma.Padding = PaddingMode.PKCS7;
            return sma;
        }

        /// 
        /// 加密文件随机数生成
        /// 

        private static RandomNumberGenerator rand = new RNGCryptoServiceProvider();

        /// 
        /// 生成指定长度的随机Byte数组
        /// 

        /// Byte数组长度
        /// 随机Byte数组
        private static byte[] GenerateRandomBytes(int count)
        {
            byte[] bytes = new byte[count];
            rand.GetBytes(bytes);
            return bytes;
        }

        /// 
        /// 加密文件
        /// 

        /// 待加密文件
        /// 加密后输入文件
        /// 加密密码
        public static void EncryptFile(string inFile string outFile string password)
        {
            using (FileStream fin = File.OpenRead(inFile)
                fout = File.OpenWrite(outFile))
            {
                long lSize = fin.Length; // 输入文件长度
                int size = (int)lSize;
                byte[] bytes = new byte[BUFFER_SIZE]; // 缓存
                int read = -1; // 输入文件读取数量
                int value = 0;

                // 获取IV和salt
                

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       1366  2016-03-03 19:26  FileLock\FileLock\Properties\AssemblyInfo.cs

     文件       5612  2016-03-03 19:26  FileLock\FileLock\Properties\Resources.resx

     文件       2864  2016-03-03 19:26  FileLock\FileLock\Properties\Resources.Designer.cs

     文件        249  2016-03-03 19:26  FileLock\FileLock\Properties\Settings.settings

     文件       1091  2016-03-03 19:26  FileLock\FileLock\Properties\Settings.Designer.cs

     文件       1713  2016-03-03 20:06  FileLock\FileLock\Form1.cs

     文件       5891  2016-03-03 20:06  FileLock\FileLock\Form1.Designer.cs

     文件        489  2016-03-03 19:26  FileLock\FileLock\Program.cs

     文件       3718  2016-03-03 20:06  FileLock\FileLock\FileLock.csproj

     文件      11600  2016-03-03 20:47  FileLock\FileLock\bin\Debug\FileLock.vshost.exe

     文件      12800  2016-03-03 20:10  FileLock\FileLock\bin\Debug\FileLock.exe

     文件      32256  2016-03-03 20:10  FileLock\FileLock\bin\Debug\FileLock.pdb

     文件       6338  2016-03-03 20:10  FileLock\FileLock\obj\x86\Debug\DesignTimeResolveAssemblyReferencesInput.cache

     文件       2164  2016-03-03 19:26  FileLock\FileLock\obj\x86\Debug\DesignTimeResolveAssemblyReferences.cache

     文件        180  2016-03-03 20:06  FileLock\FileLock\obj\x86\Debug\FileLock.Properties.Resources.resources

     文件        244  2016-03-03 20:06  FileLock\FileLock\obj\x86\Debug\GenerateResource.read.1.tlog

     文件        778  2016-03-03 20:06  FileLock\FileLock\obj\x86\Debug\GenerateResource.write.1.tlog

     文件      32256  2016-03-03 20:10  FileLock\FileLock\obj\x86\Debug\FileLock.pdb

     文件      12800  2016-03-03 20:10  FileLock\FileLock\obj\x86\Debug\FileLock.exe

     文件        820  2016-03-03 20:47  FileLock\FileLock\obj\x86\Debug\FileLock.csproj.FileListAbsolute.txt

     文件        180  2016-03-03 20:06  FileLock\FileLock\obj\x86\Debug\FileLock.Form1.resources

     文件       6020  2016-03-03 20:06  FileLock\FileLock\Form1.resx

     文件       8144  2016-03-03 20:10  FileLock\FileLock\DESFileClass.cs

     文件        866  2016-03-03 19:26  FileLock\FileLock.sln

    ..A..H.     20480  2016-03-03 20:59  FileLock\FileLock.suo

     文件          8  2016-03-03 20:37  FileLock\text.txt

     目录          0  2016-03-03 19:26  FileLock\FileLock\obj\x86\Debug\TempPE

     目录          0  2016-03-03 19:26  FileLock\FileLock\obj\x86\Debug

     目录          0  2016-03-03 19:26  FileLock\FileLock\bin\Debug

     目录          0  2016-03-03 19:49  FileLock\FileLock\bin\Release

............此处省略9个文件信息

评论

共有 条评论

相关资源