using System;
using System.Text;
using System.Security.Cryptography;
using System.Diagnostics;
using System.IO;
using System.Reflection;
using System.Windows.Forms;namespace FirstEliteCSFileEncoder
{class Program{/// <summary>/// DESEncrypt加密解密算法。/// </summary>public class DESEncoder{public DESEncoder(string key){this.Key = key;}/// <summary>/// 对称加密解密的密钥/// </summary>public string Key { get; private set; }/// <summary>/// DES加密/// </summary>/// <param name="encryptString"></param>/// <returns></returns>public string EncryptString(string encryptString){byte[] keyBytes = Encoding.UTF8.GetBytes(this.Key.Substring(0, 8));byte[] keyIV = keyBytes;byte[] inputByteArray = Encoding.UTF8.GetBytes(encryptString);DESCryptoServiceProvider provider = new DESCryptoServiceProvider();MemoryStream mStream = new MemoryStream();CryptoStream cStream = new CryptoStream(mStream, provider.CreateEncryptor(keyBytes, keyIV), CryptoStreamMode.Write);cStream.Write(inputByteArray, 0, inputByteArray.Length);cStream.FlushFinalBlock();return Convert.ToBase64String(mStream.ToArray());}/// <summary>/// DES解密/// </summary>/// <param name="decryptString"></param>/// <returns></returns>public string DecryptString(string decryptString){byte[] keyBytes = Encoding.UTF8.GetBytes(this.Key.Substring(0, 8));byte[] keyIV = keyBytes;byte[] inputByteArray = Convert.FromBase64String(decryptString);DESCryptoServiceProvider provider = new DESCryptoServiceProvider();MemoryStream mStream = new MemoryStream();CryptoStream cStream = new CryptoStream(mStream, provider.CreateDecryptor(keyBytes, keyIV), CryptoStreamMode.Write);cStream.Write(inputByteArray, 0, inputByteArray.Length);cStream.FlushFinalBlock();return Encoding.UTF8.GetString(mStream.ToArray());}public bool EncryptFile(string filepath){try{var bytes = File.ReadAllBytes(filepath);File.WriteAllBytes(filepath, Encoding.UTF8.GetBytes(this.EncryptString(Convert.ToBase64String(bytes))));return true;}catch (Exception ex){Debug.Print(ex.ToString());return false;}}public bool DecryptFile(string filepath){try{var bytes = File.ReadAllBytes(filepath);File.WriteAllBytes(filepath, Convert.FromBase64String(this.DecryptString(Encoding.UTF8.GetString(bytes))));return true;}catch (Exception ex){Debug.Print(ex.ToString());return false;}}}public static bool LoadAssembly(string filepath){try{var encoder = new DESEncoder("$u&CIbzz");var bytes = File.ReadAllBytes(filepath);var assembly = Assembly.Load(Convert.FromBase64String(encoder.DecryptString(Encoding.UTF8.GetString(bytes))));MessageBox.Show(assembly.FullName);return true;}catch (Exception ex){Debug.Print(ex.ToString());return false;}}static void Main(string[] args){LoadAssembly(@"");var encoder = new DESEncoder("$u&CIbzz");encoder.EncryptFile(@"C:\Users\knife\Desktop\翻译.txt");encoder.DecryptFile(@"C:\Users\knife\Desktop\翻译.txt");Console.WriteLine("over");Console.ReadLine();}}
}

转载于:https://www.cnblogs.com/nanfei/p/11077580.html

C# DES 加解密相关推荐

  1. 一个java的DES加解密类转换成C#

    原文:一个java的DES加解密类转换成C# 一个java的des加密解密代码如下: //package com.visionsky.util;import java.security.*; //im ...

  2. 密码学入门1——凯撒密码和三重DES加解密

    实验目的 1.完成第一个入门加解密--凯撒密码 2.完成当下较为流行的三重DES加解密技术 3.熟悉所学的实际运用方向 实验准备 硬件:计算机或笔记本电脑 操作系统:Mac操作系统 IDE环境:Ecl ...

  3. PHP 基础篇 - PHP 中 DES 加解密详解

    2019独角兽企业重金招聘Python工程师标准>>> 一.简介 DES 是对称性加密里面常见一种,全称为 Data Encryption Standard,即数据加密标准,是一种使 ...

  4. C语言实现DES加解密算法

    C语言实现DES加解密算法 DES加解密 DES加解密 #include <stdio.h> #include <stdlib.h> #include <string.h ...

  5. js des加密 java_Java实现与JS相同的Des加解密算法完整实例

    本文实例讲述了Java实现与JS相同的Des加解密算法.分享给大家供大家参考,具体如下: 这里演示java与js实现相同的des加解密算法,不多说,不废话,直接上代码 一.java实现 package ...

  6. LKT系列加密芯片DES加解密以及OpenSSL DES接口实现加解密

    1.测试目标 使用已经预置DES密钥的LKT4201N系列加密芯片完成运算 2.测试环境 本示例运行环境为windows系统.测试软件LCS KIT.LKT-K100开发板. 3.测试步骤 注意:&q ...

  7. Hutool进行DES加解密

    Hutool进行DES加解密 先简述以下:一个数据接口,接收到的是DES加密后的json字符串,需要先解密再转成bean对象. 我试了网上很多方式实现,发现每次加密后最后几位不同.想着对称加解密还能这 ...

  8. java 和 c# 下的RSA证书+AES+DES加解密实现

    java 和 c# 下的RSA+AES+DES加解密实现 前言 在实际应用中,经常有需要使用加解密的情况,RSA\AES\DES是比较常用的几种加解密方式,使用和实现方式都比较成熟可靠,本文简要介绍一 ...

  9. DES加解密算法原理详解与实现

    [DES密码编写] 1. Equipment (1) operating system version :WIN 10 (2) CPU instruction set: x 64 (3) softwa ...

  10. 【密码学】DES加解密原理及其Java实现算法

    DES简介 DES(Data Encryption Standard)是对称加解密算法的一种,由IBM公司W.Tuchman和C.Meyer在上个世纪70年代开发. 该算法使用64位密钥(其中包含8位 ...

最新文章

  1. iOS开发网络——数据缓存
  2. mac平台反编译apk,获取源码,androidmanifest和资源文件
  3. 如何在ActionScript 3中将“ Null”(真实的姓氏!)传递给SOAP Web服务
  4. Delphi 与 DirectX 之 DelphiX(35): TDIB.Saturation();
  5. 每日一九度之 题目1083:特殊乘法
  6. Android app项目开发步骤总结
  7. Spring Boot 使用 AOP 实现页面自适应
  8. cas单点登录-https的配置(一)
  9. 深度学习TF—8.经典CNN模型—LeNet-5、VGG13、AlexNet、GoogLeNet、ResNet、DenseNet
  10. spring-第二篇ApplicationContext国际化及事件机制
  11. 蓝桥杯_算法训练_未名湖畔的烦恼
  12. 10款超好用插件,助你玩转Chrome浏览器
  13. win10计算机无动作后锁屏,怎么让win10不锁屏_让win10不锁屏的操作方法
  14. 短信中心号码iphone_如何在iPhone上阻止来自特定号码的呼叫
  15. 002 Java集合泛型面试题
  16. #define s(x) x*x 的计算方法
  17. 【图解】九张图带你读懂大数据医疗
  18. 疫情下,2020年大数据产业展望
  19. 利用k-means算法对灰度图像分割
  20. 让BAT执行php程序,不错哦!

热门文章

  1. 手机进程多了,有的进程就无法联网?
  2. 文字处理技术:WORD也在不断变化中
  3. 保留正常工作的环境,等自己的搞好后再替换
  4. 吾讲救活公司的办法,当事人还在玩手机,应该怎么办
  5. UNBUNTU下与VirtualBox的WINDOWS共享文件夹
  6. 不看好的Android火了,看好的WebOS死了
  7. 苹果又被拒了:Guideline 4.3 - Design
  8. php一小时入门,php3小时快速入门-读书笔记
  9. mysql commit undo_详细分析MySQL事务日志(redo log和undo log)
  10. 伦茨8400变频器面板按键说明_国产变频器按键的各个功能