using
System.Collections;
002
System.Configuration;
003
System.Data;
004
System.Linq;
005
System.Web;
006
System.Web.Security;
007
System.Web.UI;
008
System.Web.UI.HtmlControls;
009
System.Web.UI.WebControls;
010
System.Web.UI.WebControls.WebParts;
011
System.Xml.Linq;
012
System.Text;
013
System.IO;
014
System.Security.Cryptography;
015
016
public
partial
class
Default2 : System.Web.UI.Page
017
{
018
protected
void
Page_Load(
object
sender, EventArgs e)
019
020
021
}
022
private
static
byte
[] Keys = { 0x12, 0x34, 0x56, 0x78, 0x90, 0xAB, 0xCD, 0xEF };
//自定义密匙
023
string
filePathA;
//储存文件路径
024
filePathB;
//储存文件复制后的路径
025
/// <summary>
026
/// 文件加密
027
/// </summary>
028
/// <param name="inFile">文件储存路径</param>
029
/// <param name="outFile">储存文件复制的路径</param>
030
/// <param name="encryptKey"></param>
031
/// <returns></returns>
032
bool
EncryptDES(
inFile,
outFile,
encryptKey)
033
034
[] rgb = Keys;
035
try
036
037
[] rgbKeys = Encoding.UTF8.GetBytes(encryptKey.Substring(0, 8));
038
FileStream inFs =
new
FileStream(inFile, FileMode.Open, FileAccess.Read);
//读入流
039
FileStream outFs =
FileStream(outFile, FileMode.OpenOrCreate, FileAccess.Write);
// 等待写入流
040
outFs.SetLength(0);
//帮助读写的变量
041
[] byteIn =
[100];
//放临时读入的流
042
long
readLen = 0;
//读入流的长度
043
totalLen = inFs.Length;
//读入流的总长度
044
int
everylen=0;
//每次读入流的长度
045
DES des =
DESCryptoServiceProvider();
//将inFile加密后放到outFile
046
CryptoStream encStream =
CryptoStream(outFs, des.CreateEncryptor(rgb, rgbKeys), CryptoStreamMode.Write);
047
while
(readLen < totalLen)
048
049
everylen = inFs.Read(byteIn, 0, 100);
050
encStream.Write(byteIn, 0, everylen);
051
readLen = readLen + everylen;
052
053
encStream.Close();
054
inFs.Close();
055
outFs.Close();
056
return
true
;
//加密成功
057
058
catch
(Exception ex)
059
060
Response.Write(ex.Message.ToString());
061
false
//加密失败
062
063
064
065
066
DecryptDES(
067
068
069
070
071
072
073
074
075
076
077
078
079
080
CryptoStream(outFs, des.CreateDecryptor(rgb, rgbKeys), CryptoStreamMode.Write);
081
082
083
084
085
086
087
088
089
090
091
092
093
094
095
096
097
098
099
/// 拷贝文件
100
101
copyFile()
102
103
filePathA =
this
.fei.PostedFile.FileName;
//获取文件全部路径
104
fileName =
.fei.FileName;
105
path = System.IO.Path.GetDirectoryName(filePathA);
106
filePathB = path +
"\\1"
+ fileName;
//重新设置文件名
107
File.Copy(filePathA, filePathB);
108
109
110
btnOK_Click(
111
112
copyFile();
113
if
(EncryptDES(filePathB, filePathA,
"mingrisoft"
))
114
115
RegisterStartupScript(
"false"
,
"<script>alert('加密成功!\\n');</script>"
);
116
117
else
118
119
"<script>alert('失败成功!\\n');</script>"
120
121
File.Delete(filePathB);
122
123
btnCancel_Click(
124
125
126
(DecryptDES(filePathB, filePathA,
127
128
129
130
131
132
133
134
135
136
01
/**********************************************************
02
* CJF Development Library for Microsoft.NET
03
* Note:DES加密解密字符串
04
* Create Date:2011-11-15
05
* Author:崔俊峰
06
* Copyright (c) 2012,2015 Cjf Studio.China
07
* All Rigths Reserved!
08
**********************************************************/
09
10
System;
11
12
13
14
15
namespace
Cjf.Components.Security
16
17
18
/// DES加密解密字符串
19
20
DesEncryption
21
22
//默认密钥向量
23
24
25
26
/// DES加密字符串
27
28
/// <param name="encryptString">待加密的字符串</param>
29
/// <param name="encryptKey">加密密钥,要求为8位</param>
30
/// <returns>加密成功返回加密后的字符串,失败返回null</returns>
31
encryptString,
encryptKey =
"11001100"
)
32
33
34
35
[] rgbKey = Encoding.UTF8.GetBytes(encryptKey.Substring(0, 8));
36
[] rgbIV = Keys;
37
[] inputByteArray = Encoding.UTF8.GetBytes(encryptString);
38
DESCryptoServiceProvider dCSP =
39
MemoryStream mStream =
MemoryStream();
40
CryptoStream cStream =
CryptoStream(mStream, dCSP.CreateEncryptor(rgbKey, rgbIV), CryptoStreamMode.Write);
41
cStream.Write(inputByteArray, 0, inputByteArray.Length);
42
cStream.FlushFinalBlock();
43
Convert.ToBase64String(mStream.ToArray());
44
45
46
47
null
48
49
50
51
52
/// DES解密字符串
53
54
/// <param name="decryptString">待解密的字符串</param>
55
/// <param name="decryptKey">解密密钥,要求为8位,和加密密钥相同</param>
56
/// <returns>解密成功返回解密后的字符串,失败返回null</returns>
57
decryptString,
decryptKey =
58
59
60
61
[] rgbKey = Encoding.UTF8.GetBytes(decryptKey);
62
63
[] inputByteArray = Convert.FromBase64String(decryptString);
64
DESCryptoServiceProvider DCSP =
65
66
CryptoStream(mStream, DCSP.CreateDecryptor(rgbKey, rgbIV), CryptoStreamMode.Write);
67
68
69
Encoding.UTF8.GetString(mStream.ToArray());
70
71
72
73
74
75
76
77
您还没有登录,请您登录后再发表评论
提供的压缩包文件6e6cbd12c84540d1aa029a55025426a4可能包含了C语言实现DES加密算法的源代码。通过阅读和理解这些代码,你可以深入学习DES算法的实现细节,如如何进行位操作、如何构造S盒和P盒、以及如何进行迭代...
### DES加密算法实验知识点 #### 一、实验背景与目的 **DES(Data Encryption Standard)加密算法**是一种经典的对称加密技术,在信息安全领域占据着重要地位。本实验旨在通过实践操作,加深对DES算法工作原理的...
由于压缩包中只有一个名为"DES"的文件,我们可以假设这是源代码文件,包含了实现DES加密算法的C++代码。可能的结构包括主函数、DES类定义、密钥处理函数、加密和解密的实现等。通过查看和分析这个文件,可以更深入地...
主要介绍了使用java自带des加密算法实现文件加密和字符串加密的示例,需要的朋友可以参考下
1. 数据存储加密:可以使用AES或DES加密算法将数据加密存储在数据库或文件中。 2. 网络数据传输加密:可以使用AES或DES加密算法将数据加密传输在网络中。 3. 云存储加密:可以使用AES或DES加密算法将数据加密存储在...
DES 加密算法是一种分组加密算法,对一定大小的明文或密文来做加密或解密动作。DES 加密算法的实现实验目的理解对称加密算法的原理和特点。实验原理 DES 是一种分组加密算法,每次加密或解密的分组大小均为 64 位,...
在本文中,我们将深入探讨DES加密算法的原理、C语言实现及其相关知识点。 DES算法基于Feistel网络结构,它将明文分为左半部分和右半部分,然后通过一系列迭代过程进行加密。每个迭代包含以下步骤: 1. **初始置换...
如果要深入理解并实现DES加密算法,建议查看这些文件内容。 总的来说,DES加密算法是计算机科学中对称加密的经典例子,虽然在现代已不再作为主要加密标准,但它仍然是理解加密原理和学习密码学的重要教材。通过C++...
DES加密算法源码 DES加密算法源码 DES加密算法源码 DES加密算法源码 DES加密算法源码 DES加密算法源码 DES加密算法源码 DES加密算法源码 DES加密算法源码 DES加密算法源码 DES加密算法源码 DES加密算法源码DES加密...
在C++中实现DES加密算法,通常涉及到以下几个关键知识点: 1. **DES算法原理**:DES算法基于Feistel结构,通过16轮迭代变换将64位明文数据转化为64位密文。每一轮迭代包含一个子密钥生成过程和一个替换-置换过程。...
DES(Data Encryption ...总结来说,DES加密算法是历史上重要且有影响力的加密技术,虽然现在已被更先进的算法所取代,但它在密码学的发展历程中起到了关键作用,并且对于理解和学习现代加密技术的基础至关重要。
本篇文章将深入探讨DES加密算法的应用及其在Java编程中的实现。 DES算法由IBM公司在1970年代初设计,后来被美国国家标准局采纳为数据加密标准。该算法基于Feistel结构,使用64位的密钥对64位的数据进行加密,实际...
DES加密算法软件下载DES加密算法软件下载美国国家标准局1973年开始研究除国防部外的其它部门的计算机系统的 数据加密标准,于1973年5月15日和1974年8月27日先后两次向公众发出了 征求加密算法的公 告。加密算法要...
理解并掌握DES加密算法以及如何在Java中实现文件加解密,对于提升数据安全保护能力具有重要意义。然而,需要注意的是,由于DES的密钥长度较短,现代密码学已经不再推荐使用DES,而是转向更安全的算法如AES(Advanced...
DES 加密算法原理 在密码学领域中,DES(Data Encryption Standard)是一种对称加密算法,广泛应用于数据加密和解密。下面是对 DES 加密算法原理的详细解释。 分组密码的原理 在密码学中,分组密码是一种常用的...
C语言实现DES算法DES加密算法实验报告.doc
DES 算法加密算法解密算法 DES 算法概述 DES(Data Encryption Standard)是一种对称密钥块加密算法,由美国 IBM 公司的 W. Tuchman 和 C. Meyer 于 1971-1972 年研制成功。1973 年,美国国家标准局(NBS)公开...
对系统资源消耗极低的DES加密算法代码,在普通51单片机上即可实现,仅需4K大小的flash存储,1K大小的ram。操作仅需两个函数,一个加密函数,一个解密函数,使用非常方便。
相关推荐
提供的压缩包文件6e6cbd12c84540d1aa029a55025426a4可能包含了C语言实现DES加密算法的源代码。通过阅读和理解这些代码,你可以深入学习DES算法的实现细节,如如何进行位操作、如何构造S盒和P盒、以及如何进行迭代...
### DES加密算法实验知识点 #### 一、实验背景与目的 **DES(Data Encryption Standard)加密算法**是一种经典的对称加密技术,在信息安全领域占据着重要地位。本实验旨在通过实践操作,加深对DES算法工作原理的...
由于压缩包中只有一个名为"DES"的文件,我们可以假设这是源代码文件,包含了实现DES加密算法的C++代码。可能的结构包括主函数、DES类定义、密钥处理函数、加密和解密的实现等。通过查看和分析这个文件,可以更深入地...
主要介绍了使用java自带des加密算法实现文件加密和字符串加密的示例,需要的朋友可以参考下
1. 数据存储加密:可以使用AES或DES加密算法将数据加密存储在数据库或文件中。 2. 网络数据传输加密:可以使用AES或DES加密算法将数据加密传输在网络中。 3. 云存储加密:可以使用AES或DES加密算法将数据加密存储在...
DES 加密算法是一种分组加密算法,对一定大小的明文或密文来做加密或解密动作。DES 加密算法的实现实验目的理解对称加密算法的原理和特点。实验原理 DES 是一种分组加密算法,每次加密或解密的分组大小均为 64 位,...
在本文中,我们将深入探讨DES加密算法的原理、C语言实现及其相关知识点。 DES算法基于Feistel网络结构,它将明文分为左半部分和右半部分,然后通过一系列迭代过程进行加密。每个迭代包含以下步骤: 1. **初始置换...
如果要深入理解并实现DES加密算法,建议查看这些文件内容。 总的来说,DES加密算法是计算机科学中对称加密的经典例子,虽然在现代已不再作为主要加密标准,但它仍然是理解加密原理和学习密码学的重要教材。通过C++...
DES加密算法源码 DES加密算法源码 DES加密算法源码 DES加密算法源码 DES加密算法源码 DES加密算法源码 DES加密算法源码 DES加密算法源码 DES加密算法源码 DES加密算法源码 DES加密算法源码 DES加密算法源码DES加密...
在C++中实现DES加密算法,通常涉及到以下几个关键知识点: 1. **DES算法原理**:DES算法基于Feistel结构,通过16轮迭代变换将64位明文数据转化为64位密文。每一轮迭代包含一个子密钥生成过程和一个替换-置换过程。...
DES(Data Encryption ...总结来说,DES加密算法是历史上重要且有影响力的加密技术,虽然现在已被更先进的算法所取代,但它在密码学的发展历程中起到了关键作用,并且对于理解和学习现代加密技术的基础至关重要。
本篇文章将深入探讨DES加密算法的应用及其在Java编程中的实现。 DES算法由IBM公司在1970年代初设计,后来被美国国家标准局采纳为数据加密标准。该算法基于Feistel结构,使用64位的密钥对64位的数据进行加密,实际...
DES加密算法软件下载DES加密算法软件下载美国国家标准局1973年开始研究除国防部外的其它部门的计算机系统的 数据加密标准,于1973年5月15日和1974年8月27日先后两次向公众发出了 征求加密算法的公 告。加密算法要...
理解并掌握DES加密算法以及如何在Java中实现文件加解密,对于提升数据安全保护能力具有重要意义。然而,需要注意的是,由于DES的密钥长度较短,现代密码学已经不再推荐使用DES,而是转向更安全的算法如AES(Advanced...
DES 加密算法原理 在密码学领域中,DES(Data Encryption Standard)是一种对称加密算法,广泛应用于数据加密和解密。下面是对 DES 加密算法原理的详细解释。 分组密码的原理 在密码学中,分组密码是一种常用的...
C语言实现DES算法DES加密算法实验报告.doc
DES 算法加密算法解密算法 DES 算法概述 DES(Data Encryption Standard)是一种对称密钥块加密算法,由美国 IBM 公司的 W. Tuchman 和 C. Meyer 于 1971-1972 年研制成功。1973 年,美国国家标准局(NBS)公开...
对系统资源消耗极低的DES加密算法代码,在普通51单片机上即可实现,仅需4K大小的flash存储,1K大小的ram。操作仅需两个函数,一个加密函数,一个解密函数,使用非常方便。