- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
1.1 设计思路
1.1.1 界面设计思路
本设计根据前面理论的分析,从信息加密与隐藏两个主要方面着手,将两大块分开进行独立设计,做成不同的功能界面,每部分功能又都分别包括了对文本文件和图片文件的操作。为了方便操作与演示,因此在界面设计上不用很复杂,只需要用有限的几个控件来实现不同的功能,通过某个控件选择不同的文件,再通过相应的按钮对所选文件进行不同操作。
1.1.2 信息加密设计思路
在实现对文本文件的加密与解密时,将文件内容固定为非中文字符,即常用的ASCII字符,并采用对称加密算法来实现,算法选择用自己编写的简单的位操作算法,且将密钥固定为已知值。
1.1.3 信息隐藏设计思路
在实现对图片文件的信息隐藏与提取时,采用基于数字水印的技术,图片格式固定为.BMP格式的文件,隐藏的过程就是通过在所选的图片中嵌入其他的图片,并在图片中加入特殊的信息,而验证的过程就是对图片中的特殊信息进行提取,如果包含有特殊信息,则说明已对文件进行信息隐藏,验证成功后将隐藏在载体文件中的图片信息显示出来。
1.2 设计流程
1.2.1 信息加密流程
文本文件的内容是由可见ASCII字符组成,每个ASCII字符都有对应的字符值,在对其进行加密时,可采用对称加密算法,对每个字符值进行某一范围内的规律变换,变换后字符显示会与原先的字符不一样,如此循环的对每个字符进行相同操作,就可将明文信息变换成密文信息,最后将密文信息附加到明文信息结尾部分,生成一个新的文本文件,接着再次将整个文本文件进行加密,为的是在信息的传输中,保护信息。
详细的步骤如下:
1.选择所要加密的文本文件;
2.用对称加密算法对文本文件进行加密,生成附加信息;
3.将已经生成的附加信息添加到原明文文件后,重新生成一个新的文本文件;
4.再次对新的文本文件进行加密;
5.将整个加密文件保存保存;
using System;
using System.IO;
using System.Security.Cryptography;
using System.Text;
namespace DataCrypto
{
///
/// 对称加密算法类
///
public class SymmetricMethod
{
private SymmetricAlgorithm mobjCryptoService;
private string Key;
///
/// 对称加密类的构造函数
///
public SymmetricMethod()
{
mobjCryptoService = new RijndaelManaged();
Key = Guz(%hj7x89H$yuBI0456FtmaT5fvHUFCy76*h%(HilJ$lhj!y6(*jkP87jH7;
}
///
/// 获得密钥
///
/// 密钥
private byte[] GetLegalKey()
{
string sTemp = Key;
mobjCryptoService.GenerateKey();
byte[] bytTemp = mobjCryptoService.Key;
int KeyLength = bytTemp.Length;
if (sTemp.Length KeyLength)
sTemp = sTemp.Substring(0, KeyLength);
else if (sTemp.Length KeyLength)
sTemp = sTemp.PadRight(KeyLength, );
return ASCIIEncoding.ASCII.GetBytes(sTemp);
}
///
/// 获得初始向量IV
///
/// 初试向量IV
private byte[] GetLegalIV()
{
string sTemp = E4ghj*Ghg7!rNIfb95GUY86GfghUb#er57HBh(u%g6HJ($jhWk7!hg4ui%$hjk;
mobjCryptoService.GenerateIV();
byte[] bytTemp = mobjCryptoService.IV;
int IVLength = bytTemp.Length;
if (sTemp.Length IVLength)
sTemp = sTemp.Substring(0, IVLength);
else if (sTemp.Length IVLength)
sTemp = sTemp.PadRight(IVLength, );
return ASCIIEncoding.ASCII.GetBytes(sTemp);
}
///
/// 加密方法
///
//
您可能关注的文档
最近下载
- 新人教版八年级上册物理全册教学课件(2024年秋季新版教材).pptx
- 心房颤动患者心脏康复指南.pptx VIP
- 2023年美国心脏学会(AHA)心肺复苏(CPR)和心血管急救(ECC)指南.docx
- 第12章 机械效率 难题练习 2021年初中物理培优(重点高中自主招生 竞赛).docx VIP
- 中医内科学肥胖.pptx
- 整形外科诊疗指南.docx
- 提高四级手术术前多学科讨论完成率PDCA案例.pptx VIP
- 2025年秋新教科版三年级上册科学全册精编教案教学设计(新教材).docx
- 电工电子技术基础.pptx VIP
- 2025年新版《GAMP5(良好自动化生产实践规范)指南》中英对照版.pdf VIP
文档评论(0)