C# DES 加解密
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 加解密相关推荐
- 一个java的DES加解密类转换成C#
原文:一个java的DES加解密类转换成C# 一个java的des加密解密代码如下: //package com.visionsky.util;import java.security.*; //im ...
- 密码学入门1——凯撒密码和三重DES加解密
实验目的 1.完成第一个入门加解密--凯撒密码 2.完成当下较为流行的三重DES加解密技术 3.熟悉所学的实际运用方向 实验准备 硬件:计算机或笔记本电脑 操作系统:Mac操作系统 IDE环境:Ecl ...
- PHP 基础篇 - PHP 中 DES 加解密详解
2019独角兽企业重金招聘Python工程师标准>>> 一.简介 DES 是对称性加密里面常见一种,全称为 Data Encryption Standard,即数据加密标准,是一种使 ...
- C语言实现DES加解密算法
C语言实现DES加解密算法 DES加解密 DES加解密 #include <stdio.h> #include <stdlib.h> #include <string.h ...
- js des加密 java_Java实现与JS相同的Des加解密算法完整实例
本文实例讲述了Java实现与JS相同的Des加解密算法.分享给大家供大家参考,具体如下: 这里演示java与js实现相同的des加解密算法,不多说,不废话,直接上代码 一.java实现 package ...
- LKT系列加密芯片DES加解密以及OpenSSL DES接口实现加解密
1.测试目标 使用已经预置DES密钥的LKT4201N系列加密芯片完成运算 2.测试环境 本示例运行环境为windows系统.测试软件LCS KIT.LKT-K100开发板. 3.测试步骤 注意:&q ...
- Hutool进行DES加解密
Hutool进行DES加解密 先简述以下:一个数据接口,接收到的是DES加密后的json字符串,需要先解密再转成bean对象. 我试了网上很多方式实现,发现每次加密后最后几位不同.想着对称加解密还能这 ...
- java 和 c# 下的RSA证书+AES+DES加解密实现
java 和 c# 下的RSA+AES+DES加解密实现 前言 在实际应用中,经常有需要使用加解密的情况,RSA\AES\DES是比较常用的几种加解密方式,使用和实现方式都比较成熟可靠,本文简要介绍一 ...
- DES加解密算法原理详解与实现
[DES密码编写] 1. Equipment (1) operating system version :WIN 10 (2) CPU instruction set: x 64 (3) softwa ...
- 【密码学】DES加解密原理及其Java实现算法
DES简介 DES(Data Encryption Standard)是对称加解密算法的一种,由IBM公司W.Tuchman和C.Meyer在上个世纪70年代开发. 该算法使用64位密钥(其中包含8位 ...
最新文章
- iOS开发网络——数据缓存
- mac平台反编译apk,获取源码,androidmanifest和资源文件
- 如何在ActionScript 3中将“ Null”(真实的姓氏!)传递给SOAP Web服务
- Delphi 与 DirectX 之 DelphiX(35): TDIB.Saturation();
- 每日一九度之 题目1083:特殊乘法
- Android app项目开发步骤总结
- Spring Boot 使用 AOP 实现页面自适应
- cas单点登录-https的配置(一)
- 深度学习TF—8.经典CNN模型—LeNet-5、VGG13、AlexNet、GoogLeNet、ResNet、DenseNet
- spring-第二篇ApplicationContext国际化及事件机制
- 蓝桥杯_算法训练_未名湖畔的烦恼
- 10款超好用插件,助你玩转Chrome浏览器
- win10计算机无动作后锁屏,怎么让win10不锁屏_让win10不锁屏的操作方法
- 短信中心号码iphone_如何在iPhone上阻止来自特定号码的呼叫
- 002 Java集合泛型面试题
- #define s(x) x*x 的计算方法
- 【图解】九张图带你读懂大数据医疗
- 疫情下,2020年大数据产业展望
- 利用k-means算法对灰度图像分割
- 让BAT执行php程序,不错哦!
热门文章
- 手机进程多了,有的进程就无法联网?
- 文字处理技术:WORD也在不断变化中
- 保留正常工作的环境,等自己的搞好后再替换
- 吾讲救活公司的办法,当事人还在玩手机,应该怎么办
- UNBUNTU下与VirtualBox的WINDOWS共享文件夹
- 不看好的Android火了,看好的WebOS死了
- 苹果又被拒了:Guideline 4.3 - Design
- php一小时入门,php3小时快速入门-读书笔记
- mysql commit undo_详细分析MySQL事务日志(redo log和undo log)
- 伦茨8400变频器面板按键说明_国产变频器按键的各个功能