- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
本文仅限参考,如有抄袭,复制,切JJ一枚
本文使用繁体编写,如有需要请使用wps文档繁体转换成简体阅读。
《網路安全編程》
姓名:秦密
班級:12級網安一班
學號:1215135068
一、設計任務與要求
設計任務
使用檔輸入流從指定路徑和名稱的磁片中讀取指定的txt文本,對文本內容加密後重新輸出到原文件中。
設計要求
能夠實現對txt文本的加密與解密操作,加密後的文本不應具有可讀性,解密後的文本以保持原有的大小、格式,不應有文本行或字元、字串的丟失。
二、實現思想:
1.使用檔輸入輸出流:
iofstream從指定路徑的txt檔中讀取數據,使用檔輸入流的getline函數從原文件每次讀取一行作為一個字串寫入字串緩存空間szTmp中。
加密操作:
對緩存字串szTmp使用自定義的加密函數AL_Lock進行加密操作,將加密後的字串寫入一個臨時檔txtLocker.tmp中保存,待整個文本檔讀取並加密完成後,將加密後的檔從臨時檔txtLocker中逐個字元複製回原文件中,並對將緩存檔清空。
解密操作:
使用檔輸入輸出流逐行讀取加密後的檔,到字串緩存空間szTmp中,對字串szTmp 使用自定義的解密函數LA_Key進行解密操作,直到檔解密完成;解密操作完成後,將解密後的檔寫回原文件中。
4. 加密函數AL_Lock的實現思想:
AL_Lock包含兩個自定義的加密函數Line_Lock和Aph_Lock 。
對字串進行加密時,有兩種基本的加密思想。
其一是對字串中的各個字元按照一個給定的順序進行換序加密操作。如:字串”abcdef”字元序列”326154”加密後為”cbfaed”。此程式中自定義的加密函數Line_Lock就是用於實現此功能。
另一種加密思想是對字元序列進行邏輯移位加密,加密數值增加到字元的ASCII碼值中。如字元序列”abcde”按字元序列”11211”進行邏輯移位加密後字串為”bceef”。 此程式中自定義的加密函數Aph_Lock就是用於實現此功能。
AL_Lock加密函數為這兩種加密思想結合使用構建的加密函數,先使用邏輯移位加密函數Aph_Lock進行加密,在使用換序加密函數Line_Lock對其進行加密。
5. 解密函數LA_Key的實現思想:
解密函數為加密函數的逆過程,先使用解密函數Line_Key對加密後的字串進行原來順序的恢復操作,再使用邏輯移位解密函數Aph_Key對恢復原序的字串進行邏輯解密操作。
6. 加密解密序列的生成,給定任意一個字串序列如:”7415369”按字元由小到大的順序逐個字元給定其對應位置產生字串序列”3524617”該序列即為換序加密時可用的加密序列使用Line_Lock即可對字元加密。在此程式中用於生成加密序列的函數為getNum。
而產生的加密序列經字串數據轉換函數char2int轉換後轉換為整型數據,利用除3取得的餘數作為邏輯移位的產生序列。
三:
加密實現過程
新建檔123.txt
運行加密程式
查看加密後的檔
解密檔
四:程式源碼
#include stdafx.h
#includestdio.h
#includefstream
#includeiostream
using namespace std;
//檔輸入輸出流
#define ANum1 3000
#define ANum2 3500
// strLen 求字串求長函數 求任意長度字串的長度
int strLen(char str[])
{
int i = 0;
while(str[i++]);
return i;
}
//char2int 轉換, 將字串數str,轉換為整型數,如:“123457”-123457
int char2int(char str[])
{
int Total = 0, i=0;
int Tmp;
while(str[i])
{
Tmp = str[i++]-48; //Tmp用於存儲字串各個位元組處轉換後的的數字s[i]-48,轉換前該位元組處用s[i]表示該數字字元
Total = Total * 10 +Tmp; //將各位數字字合成字元所表示的數據
}
return Total; //返回數字處理後得到的數字
}
//strCopy 字串拷貝函數,將字串從原始檔案str1拷貝到目標檔str2,返回值str2所對應的字串
char * strCop
您可能关注的文档
- 2015年江苏省南通市中考物理试卷(解析版)….doc
- 2015年江苏省普通高中学业水平测试(必修科目)说明与2014年的比较….doc
- 2015年江苏省普通高中学业水平测试(生物必修3)….doc
- 2015年江苏省普通高中学业水平测试政治选修考试说明….doc
- 2015年江苏省融合教育知识网络竞赛题库….doc
- 2015年江苏省徐州市中考数学试卷及答案….doc
- 2015年江苏省徐州市中考物理试卷….doc
- 2015年江苏省学业检测语文模拟试卷一….doc
- 2015年江苏省学业水平测试真题(历史)word版有答案….doc
- 2015年江苏省镇江市中考数学试卷….doc
- 2015年南阳理工学院软件学院网络风险评估课程设计….doc
- 2015年内江市中考物理试卷及答案….doc
- 2015年内江市中考物理试题(解析版)….doc
- 2015年内蒙古通辽市初中毕业生学业考试语文试题….doc
- 2015年内蒙古专业技术人员职业生涯规划与管理(真正的满分考题答案)….doc
- 2015年内蒙专技继续教育学习计划专业技术人员职业生涯规划与管理….doc
- 2015年年岗位说明书….doc
- 2015年宁波鄞州区初中毕业生学业考试模拟英语试卷_51697….doc
- 2015年宁德市《创新能力培养与提高》答案李孝良通过率99%….doc
- 2015年宁德市5月质检理综word….doc
最近下载
- 世界现代化的历程.pptx VIP
- 商务秘书公司地址托管协议范本2025年通用.docx VIP
- 前门西河沿街景观及建筑外立面改造方案设计.pdf
- 光纤传感器和刮板输送机直线度感知系统及其测量方法.pdf VIP
- (完整版)2025标准对数视力表(A4打印版) .pdf VIP
- 初一数学下册期末试卷初一数学下试卷期末.docx VIP
- 小学二年级学习资料 【57】二年级上册语文全册一课一练.pdf VIP
- 共建·共享:初中整本书阅读课程区域推进的实践探索.ppt VIP
- Unit 3 Places we live in第四课时 课件2025-2026学年度人教PEP英语四年级上册.pptx VIP
- 在教育中修行,带着温暖追光——读《教育是一场温暖的修行》有感.docx
文档评论(0)