信息安全实验报告五分析

合集下载

信息安全专业实验报告

信息安全专业实验报告

一、实验背景随着信息技术的飞速发展,信息安全已经成为国家安全和社会稳定的重要组成部分。

为了提高学生对信息安全技术的理解和应用能力,我们开展了本次信息安全专业实验。

二、实验目的1. 理解并掌握信息安全的基本概念和原理。

2. 掌握常见信息安全攻击和防御技术。

3. 培养学生实际操作和问题解决能力。

三、实验内容本次实验共分为五个部分,分别为:1. 密码学实验2. 网络攻防实验3. 操作系统安全实验4. 应用安全实验5. 安全审计实验四、实验步骤及结果1. 密码学实验实验目的:掌握常用密码算法的原理和应用。

实验步骤:(1)实现对称加密算法(如DES、AES)和非对称加密算法(如RSA)的加解密过程。

(2)分析不同加密算法的优缺点。

实验结果:(1)成功实现了对称加密算法和非对称加密算法的加解密过程。

(2)掌握了不同加密算法的原理和应用。

2. 网络攻防实验实验目的:了解网络攻击方法,掌握网络安全防御技术。

实验步骤:(1)使用网络扫描工具(如Nmap)扫描目标主机。

(2)利用漏洞扫描工具(如Metasploit)对目标主机进行漏洞扫描。

(3)针对发现的漏洞,进行攻击和防御实验。

实验结果:(1)成功扫描到目标主机,并发现其存在的漏洞。

(2)掌握了常见的网络攻击方法。

(3)学习了针对漏洞的防御措施。

3. 操作系统安全实验实验目的:了解操作系统安全机制,掌握安全配置方法。

实验步骤:(1)分析Linux和Windows操作系统的安全机制。

(2)对操作系统进行安全配置,如设置用户权限、安装安全补丁等。

实验结果:(1)掌握了操作系统安全机制。

(2)学会了操作系统安全配置方法。

4. 应用安全实验实验目的:了解应用层安全机制,掌握安全配置方法。

实验步骤:(1)分析Web应用安全机制。

(2)对Web应用进行安全配置,如使用HTTPS、防止SQL注入等。

实验结果:(1)掌握了Web应用安全机制。

(2)学会了Web应用安全配置方法。

信息安全实验报告

信息安全实验报告

信息安全实验报告
一、实验目的
本次实验是为了研究信息安全的基本概念,建立一个简单的安全模型,探讨信息安全的模型,并对其进行实验测试,了解信息安全的相关技术,
以及如何保护敏感信息。

二、实验内容
1.定义信息安全
信息安全是指保护敏感信息不被未经授权的人访问、使用或篡改的过程。

2.研究信息安全模型
信息安全模型是一个有机的概念,它包括防御、检测、响应、应急和
恢复5个基本组成部分,旨在保护敏感信息免受未经授权的访问、使用和
篡改。

3.研究信息系统安全技术
为了增强信息安全,引入了一系列安全技术来防止未经授权的访问、
使用或篡改敏感信息,这些技术包括访问控制、身份验证、数据加密和远
程登录安全。

4.建立模型实验
为了检验信息安全模型,本次实验采用Kali Linux作为实验环境,Kali Linux设有访问控制、身份验证、数据加密和远程登录安全等安全
技术,以阻止非法的访问和操纵。

三、实验结果
1.安全技术实施完毕
在实验中,实施了访问控制、身份验证、数据加密和远程登录安全等安全技术,保证了正常的服务器运行。

2.平台安全性测试
采用Metasploit框架进行安全测试。

信息安全技术实验分析报告

信息安全技术实验分析报告

实验报告学院:信息学院专业:信息治理与信息系统专业班级:信息13-1姓名刘斌彬学号130814102实验组实验时刻2016年指导教师蓝海洋成绩实验项目名称Windows操作系统安全,Linux操作系统安全实验目的1.掌握windows账户与密码的设置方法2.掌握文件系统的爱护和加密方法3.掌握windows操作系统安全策略与安全模板的使用,审核和日志的启用方法4.掌握windows操作系统漏洞检测软件MBSA的使用方法,建立一个windows操作系统差不多安全框架5.通过实验掌握linux操作系统(以下简称linux)环境下的用户治理,进程治理以及文件治理的相关操作命令,掌握linux中的相关安全配置方法,建立起linux的差不多安全框架实验要求通过这次的实验学习,学生要学会windows操作系统和linux操作系统的差不多差不多安全配置。

实验原理一.Windows操作系统的安全原理1.账户和密码账户和密码是登录系统的基础,同时也是众多黑客程序攻击和窃取的对象。

因此,系统账户和密码的安全是极其重要的,必须通过配置来实现账户和密码的安全。

一般用户常常在安装系统后长期使用系统的默认设置,忽视了windows 系统默认设置的不安全性,而这些不安全性常常被攻击者利用,通过各种手段获得合法的账户,进一步破解密码,从而达到非法登录系统的目的。

因此,首先需要保障账户和密码的安全。

2.文件系统磁盘数据被攻击者或本地的其他用户破坏和窃取是经常困扰用户的问题,文件系统的安装问题也是特不重要的。

Windows系统提供的磁盘格式有FAT,FAT32以及NTFS。

其中,FAT,FAT32没有考虑安全到安全性方面的更高需求,例如无法设置用户访问权限等。

NTFA文件系统是Windows操作系统的一种安全的文件系统,治理员或者用户能够设置每个文件夹及每个文件的访问权限,从而限制一些用户和用户组的访问,以保障数据安全。

3.数据加密软件EFSEFS(encrypting file system,加密文件系统)是windows2000以上的版本操作系统所特有的一个有用功能,NTFS卷上的文件和数据,都能够直接被操作系统加密和保存,在专门大程度上提高了数据的安全性。

信息安全技术实验报告

信息安全技术实验报告

信息安全技术实验报告一.实验目的本实验旨在探究信息安全技术在网络通信中的应用,了解加密算法和数字签名的基本原理,并通过实际操作掌握其具体实现过程。

二.实验内容1.对称加密算法实验-选择一种对称加密算法,如DES或AES,了解其基本原理和加密流程。

- 使用Python编写对称加密算法的实现程序。

-在实验过程中,通过设计不同的密钥长度和明文信息,观察加密结果的变化。

2.非对称加密算法实验-选择一种非对称加密算法,如RSA,了解公钥和私钥的生成方法。

- 使用Python编写非对称加密算法的实现程序。

-在实验中,生成一对密钥,并将公钥用于加密明文,私钥用于解密密文。

观察加密和解密过程是否正确。

3.数字签名实验-了解数字签名的基本原理和应用场景。

- 使用Python编写数字签名的实现程序。

-在实验中,生成一对密钥,并使用私钥对明文进行签名,再使用公钥验证签名的正确性。

三.实验步骤及结果1.对称加密算法实验-选择了AES加密算法,其基本原理是将明文分组并通过多轮加密运算得到密文。

- 编写了Python程序实现AES加密算法,并进行了调试。

-在不同的密钥长度和明文信息下,得到了不同的加密结果。

观察到密钥长度的增加可以提高加密的安全性。

2.非对称加密算法实验-选择了RSA加密算法,其基本原理是使用两个密钥,公钥用于加密,私钥用于解密。

- 编写了Python程序实现RSA非对称加密算法,并进行了调试。

-成功生成了一对密钥,并使用公钥加密明文,私钥解密密文,观察到加密和解密结果正确。

3.数字签名实验-了解到数字签名可以保证数据的完整性和真实性。

- 编写了Python程序实现数字签名的生成和验证功能,并进行了调试。

-成功生成了一对密钥,并使用私钥对明文进行签名,再使用公钥验证签名的正确性。

四.实验总结本次实验通过对称加密算法、非对称加密算法和数字签名的实现,加深了对信息安全技术的理解和认识。

通过实际操作,掌握了加密算法和数字签名的基本原理和实现过程。

信息安全实验报告

信息安全实验报告

信息安全实验报告信息安全实验报告一、引言信息安全是当今社会中一个重要的话题。

随着互联网的普及和信息技术的发展,人们对于信息的依赖程度越来越高,同时也面临着更多的信息安全威胁。

为了更好地了解和应对这些威胁,我们进行了一系列的信息安全实验。

本报告将对这些实验进行总结和分析。

二、实验一:密码学与加密算法在这个实验中,我们学习了密码学的基本知识,并实践了几种常见的加密算法。

通过对这些算法的理解和应用,我们深入了解了信息加密的原理和方法。

实验结果表明,合理选择和使用加密算法可以有效保护信息的安全性。

三、实验二:网络安全漏洞扫描网络安全漏洞是信息安全的一个重要方面。

在这个实验中,我们使用了一款流行的漏洞扫描工具,对一个虚拟网络进行了扫描。

实验结果显示,该网络存在多个漏洞,这些漏洞可能导致信息泄露、系统崩溃等安全问题。

通过这个实验,我们认识到了网络安全漏洞的严重性,并了解了如何进行漏洞扫描和修复。

四、实验三:社会工程学攻击模拟社会工程学攻击是信息安全领域中的一种常见攻击手段。

在这个实验中,我们模拟了一些常见的社会工程学攻击场景,如钓鱼邮件、电话诈骗等。

通过这个实验,我们认识到了社会工程学攻击的隐蔽性和危害性。

同时,我们也学习了一些防范社会工程学攻击的方法,如提高警惕、加强安全意识等。

五、实验四:网络入侵检测网络入侵是信息安全领域中的一个重要问题。

在这个实验中,我们使用了一款网络入侵检测系统,对一个虚拟网络进行了入侵检测。

实验结果显示,该网络存在多个入侵行为,如端口扫描、暴力破解等。

通过这个实验,我们认识到了网络入侵的危害性和复杂性,并学习了一些网络入侵检测的方法和技巧。

六、实验五:应急响应与恢复在信息安全领域,及时的应急响应和恢复是非常重要的。

在这个实验中,我们模拟了一次网络攻击事件,并进行了应急响应和恢复工作。

通过这个实验,我们了解了应急响应的流程和方法,并学习了一些数据恢复的技巧。

实验结果表明,及时的应急响应和恢复可以最大程度地减少信息安全事件的损失。

信息安全基础实验报告

信息安全基础实验报告

信息安全基础实验报告一、实验目的本次实验旨在加深对信息安全基础知识的理解,通过实际操作掌握常见的信息安全攻击方式与防范措施。

二、实验内容1. DOS攻击实验2. 网络钓鱼实验3. Xss攻击实验三、实验步骤与结果1. DOS攻击实验DOS攻击通过向目标主机发送大量的无效请求,使得目标主机无法正常处理其他合法请求。

实验中我们使用hping3工具进行DOS攻击。

步骤:1. 设置目标主机IP地址2. 执行DOS攻击指令`hping3 flood rand-source <目标IP地址>`实验结果:实验过程中,目标主机的网络连接出现异常,无法正常处理其他合法请求。

2. 网络钓鱼实验网络钓鱼是攻击者通过伪造合法的网站或者电子邮件,获取用户的敏感信息。

实验中我们使用Gophish工具进行网络钓鱼攻击。

步骤:1. 设置钓鱼目标2. 通过Gophish创建伪造的登录页面或邮件3. 启动Gophish服务器4. 向目标发送伪造的邮件或链接实验结果:实验过程中,目标用户在误以为是合法网站或邮件的情况下,输入了自己的敏感信息,导致信息泄露。

3. Xss攻击实验Xss攻击是通过在网站中注入恶意脚本,使用户在访问网站时执行该脚本,从而获取用户信息或者控制用户浏览器。

实验中我们使用WebScarab工具进行Xss 攻击。

步骤:1. 设置目标网站2. 使用WebScarab注入Xss脚本3. 目标用户访问包含Xss脚本的网站实验结果:实验过程中,目标用户在访问包含Xss脚本的网站时,被执行了恶意代码,导致信息泄露或者浏览器被控制。

四、实验总结通过本次实验,我深刻了解到了DOS攻击、网络钓鱼和Xss攻击的危害和实施方式。

同时,也学会了防御这些攻击的基本方法。

在信息安全领域,保护用户和系统的安全是至关重要的,不断学习和了解最新的攻击方式和防护技术对于信息安全从业者来说是必不可少的。

通过这次实验,我对信息安全的重要性有了更深的认识,也更加确定了在未来学习和工作中继续深耕信息安全领域的决心。

信息安全实验总结报告

信息安全实验总结报告

信息安全实验总结报告篇一:信息安全实验报告课程名称:信息安全实验名称:共五次实验班级:姓名:同组人:指导教师评定:签名:实验一木马攻击与防范一、实验目的通过对木马的练习,使读者理解和掌握木马传播和运行的机制;通过手动删除木马,掌握检查木马和删除木马的技巧,学会防御木马的相关知识,加深对木马的安全防范意识。

二、实验原理木马的全称为特洛伊木马,源自古希腊神话。

木马是隐藏在正常程序中的具有特殊功能的恶意代码,是具备破坏、删除和修改文件、发送密码、记录键盘、实施DoS攻击甚至完全控制计算机等特殊功能的后门程序。

它隐藏在目标计算机里,可以随计算机自动启动并在某一端口监听来自控制端的控制信息。

1.木马的特性1伪装性 2隐藏性 3破坏性4窃密性2.木马的入侵途径木马入侵的主要途径是通过一定的欺骗方法,如更改图标、把木马文件与普通文件合并,欺骗被攻击者下载并执行做了手脚的木马程序,就会把木马安装到被攻击者的计算机中。

3.木马的种类1按照木马的发展历程,可以分为4个阶段:第1代木马是伪装型病毒,第2代木马是网络传播型木马,第3代木马在连接方式上有了改进,利用了端口反弹技术,例如灰鸽子木马,第4代木马在进程隐藏方面做了较大改动,让木马服务器端运行时没有进程,网络操作插入到系统进程或者应用进程中完成,例如广外男生木马。

2按照功能分类,木马又可以分为:破坏型木马,主要功能是破坏并删除文件;服务型木马; DoS攻击型木马;远程控制型木马三、实验环境两台运行Windows 2000/XP的计算机,通过网络连接。

使用“冰河”和“广外男生”木马作为练习工具。

四、实验内容和结果任务一“冰河”木马的使用1.使用“冰河”对远程计算机进行控制我们在一台目标主机上植入木马,在此主机上运行G_Server,作为服务器端;在另一台主机上运行G_Client,作为控制端。

打开控制端程序,单击快捷工具栏中的“添加主机”按钮,弹出如图1-5所示对对话框。

信息安全检测实验报告

信息安全检测实验报告

一、实验目的本次实验旨在通过实际操作,了解信息安全检测的基本原理和方法,掌握常用的信息安全检测工具的使用,提升对信息系统的安全评估能力,为保障信息系统安全提供技术支持。

二、实验环境1. 操作系统:Windows 102. 安全检测工具:Nessus、AWVS、AppScan3. 实验网络:局域网环境,包含一台服务器和若干台客户端计算机三、实验内容1. 系统漏洞扫描(1)使用Nessus进行系统漏洞扫描- 安装Nessus并配置好扫描目标- 选择合适的扫描策略,启动扫描任务- 分析扫描结果,识别潜在的安全风险(2)使用AWVS进行Web应用漏洞扫描- 安装AWVS并配置好扫描目标- 选择合适的扫描策略,启动扫描任务- 分析扫描结果,识别Web应用中的安全漏洞2. 应用程序安全检测(1)使用AppScan进行应用程序安全检测- 安装AppScan并配置好检测目标- 选择合适的检测策略,启动检测任务- 分析检测结果,识别应用程序中的安全风险3. 安全事件分析- 收集实验过程中产生的安全事件日志- 使用安全事件分析工具(如Splunk)对日志进行分析- 识别异常行为,发现潜在的安全威胁四、实验步骤1. 准备实验环境- 安装操作系统、安全检测工具和实验网络- 配置好扫描目标和检测目标2. 进行系统漏洞扫描- 使用Nessus对服务器进行系统漏洞扫描- 使用AWVS对Web应用进行漏洞扫描3. 进行应用程序安全检测- 使用AppScan对应用程序进行安全检测4. 安全事件分析- 收集安全事件日志- 使用安全事件分析工具进行分析五、实验结果与分析1. 系统漏洞扫描- Nessus扫描结果显示,服务器存在多个已知漏洞,包括SQL注入、跨站脚本等- AWVS扫描结果显示,Web应用存在多个安全漏洞,包括SQL注入、文件上传等2. 应用程序安全检测- AppScan检测结果显示,应用程序存在多个安全风险,包括SQL注入、跨站脚本等3. 安全事件分析- 安全事件分析结果显示,实验过程中存在异常行为,如频繁访问敏感文件、异常登录尝试等六、实验总结本次实验通过对信息安全检测工具的使用,成功识别了服务器、Web应用和应用程序中的安全漏洞和风险。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验成绩《信息安全概论》实验报告实验五数字水印实验专业班级计科F1301 学号 201316010508姓名司如言完成时间_2016/5/24 1、实验目的理解数字水印的实现原理;通过演示程序加深对数字水印的理解,并完成水印嵌入和检测的代码编写。

二、实验内容用演示软件实现在一幅图像中嵌入水印信息,对比嵌入水印前后的图像有无明显变化;用演示软件实现对一幅给定图像进行是否嵌入水印的检测;编写数字水印程序,分别实现水印的嵌入与检测。

3、实验环境和开发工具1.Windows 7操作系统2.AssureMark v2.0版3.VC++ 6.04、实验步骤和结果1. 数字水印程序演示用AssureMark软件实现嵌入水印信息,并对水印信息进行检测。

2、数字水印程序编写参考给定DLL中关于水印嵌入、提取函数的说明,编写代码分别实现水印的嵌入与检测。

(1)调用DLL中的_ADDWATERMARK函数,实现水印嵌入。

(2)调用DLL中的_GETWATERMARK函数,实现水印检测。

3、数字水印演示步骤Step 1:在AssureMark程序主界面的“模式选择”域中选择“嵌入水印”,然后单击“打开”按钮,选择要嵌入水印信息的原始图像;单击“保存”按钮。

具体操作如下图示:图3.1嵌入水印信息设置Step 2:关闭显示“水印信息嵌入成功”的提示窗口,嵌入水印信息前后的图像对比如图3.2所示,可以看出两者在视觉上并无明显差异。

图3.2 嵌入水印信息前后的图像对比Step 3:在程序主界面的“模式选择”域中选择“检测水印”,然后单击“打开”按钮,选择要检测是否嵌入水印信息的原始图像。

“提取的水印信息”栏中显示提取到的水印信息“信息安全ISCC”,如下图所示:水印信息提取成功4、将编写好的源代码输入计算机并进行调试分析,发现错误,再修改完善,最终实现实验所要求的功能。

1)给图像添加水印的函数void CPrj_watermarkDlg::OnBtnImbed()//打开并读取未嵌入水印的源BMP文件CFile dibFile(m_strFileImgSrc, CFile::modeRead);DWORD nJPG_Len=0;nJPG_Len = (DWORD)dibFile.GetLength();dibFile.Read(pJPG_Buf, nJPG_Len);//调用DLL中的_ADDWATERMARK函数,实现水印嵌入int ret1;memset(WmCoef,0, sizeof(WmCoef));ret1 = _ADDWATERMARK(pJPG_Buf, nJPG_Len, pBMP_Buf, WmCoef);if(ret1 == 1) //水印嵌入成功,分别用文件保存嵌入水印后的图片和源DCT系数,以备水印检测使用{AfxMessageBox("水印嵌入成功");CFile dibFile2(m_strFileImgWater, CFile::modeCreate|CFile::modeWrite);dibFile2.Write(pBMP_Buf, nJPG_Len);dibFile2.Close();CFile fCoef("CoefDCT.dat", CFile::modeCreate|CFile::modeWrite);fCoef.Write(WmCoef, strlen((char*)WmCoef));fCoef.Close();}else if(ret1==0){AfxMessageBox("水印嵌入失败");}dibFile.Close();}2)从图像中提取水印的函数核心实现// WaterMarkDlg.cpp: implementation file#include "stdafx.h"#include "WaterMark.h"#include "WaterMarkDlg.h"#include "Dib.h"#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE[] = __FILE__;……BOOL CWaterMarkDlg::OnInitDialog(){CDialog::OnInitDialog();ASSERT((IDM_ABOUTBOX&0xFFF0) == IDM_ABOUTBOX);ASSERT(IDM_ABOUTBOX< 0xF000);CMenu* pSysMenu= GetSystemMenu(FALSE);if (pSysMenu!= NULL){CString strAboutMenu;strAboutMenu.LoadString(IDS_ABOUTBOX);if (!strAboutMenu.IsEmpty()){pSysMenu->AppendMenu(MF_SEPARATOR);pSysMenu->AppendMenu(MF_STRING,IDM_ABOUTBOX, strAboutMenu);}}SetIcon(m_hIcon,TRUE);// Set big iconSetIcon(m_hIcon, FALSE);// Set small icon// TODO: Add extra initialization herereturn TRUE; // return TRUE unless you set the focus to a control }void CWaterMarkDlg::OnOpenFile(){// TODO: Add your control notification handler code hereCFileDialog dlg(TRUE, "", NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT | OFN_ALLOWMULTISELECT,"(*.bmp)|*.bmp|所有文件(*.*)|*.*||",AfxGetMainWnd());//读取图象的文件名CString filename;if(dlg.DoModal()==IDOK){//Bitmap2Data()将图象的转换为数据保存在二维数组m_tOriPixelArrayPOSITION pos=dlg.GetStartPosition();filename =dlg.GetNextPathName(pos);Bitmap2Data();if(hwnd[0]!=NULL)hwnd[0]=NULL;if(hSrcDC[0]!=NULL)hSrcDC[0]=NULL;if(hDesDC[0]!=NULL)hDesDC[0]=NULL;hwnd[0] =GetDlgItem(IDC_STATIC0);hDesDC[0]=hwnd[0]->GetDC()->m_hDC;hSrcDC[0]=CreateCompatibleDC(hDesDC[0]);filename=dlg.GetPathName();hBitmap[0]=(HBITMAP)LoadImage(AfxGetInstanceHandle(),filename,IMAGE_BITMAP,0 ,0,LR_LOADFROMFILE|LR_CREATEDIBSECTION);GetObject(hBitmap[0],sizeof BITMAP, &bm[0]);SelectObject(hSrcDC[0], hBitmap[0]);hwnd[0]->GetClientRect(&rect[0]);::SetStretchBltMode(hDesDC[0],COLORONCOLOR);::StretchBlt(hDesDC[0],rect[0].left, rect[0].top, rect[0].right, rect[0].bottom,hSrcDC[0], 0,0,bm[0].bmWidth, bm[0].bmHeight,+SRCCOPY);show[0]=TRUE;SetTimer(NULL,50,0);GetDlgItem(IDC_BUTTON2)->EnableWindow(TRUE);}else{TRACE("错误");}CString s,s0,s1,s2;s.Format("%2d",bm[0].bmHeight);s1.Format("%2d",bm[0].bmWidth);s0.Format("%d",m_dib->GetBiBitCount());s2="宿主图象"+s0+"位H×W:"+s+"X"+s1;if(pEdit!=NULL)pEdit=NULL;r.left=35;r.top=rect[0].bottom+2;r.right=200+r.left;r.bottom=r.top+20;pEdit=new CEdit;pEdit->Create(ES_CENTER|WS_VISIBLE|ES_READONLY,r,this,1);CFont * cFont=new CFont;cFont->CreateFont(16,0,0,0,FW_SEMIBOLD,FALSE,FALSE,0,ANSI_CHARSET,OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,DEFAULT_PITCH&FF_SWISS,"Arial");pEdit->SetFont(cFont,TRUE);pEdit->SetWindowText(s2);} ……void CWaterMarkDlg::Operate_Byte(BYTE &operate1,BYTE &operate2, BYTEm_operate){ //将m_operate最低四位取出来放到L里最高四位放到H里,//最后将H赋值给operate1最后四位 L赋值给operate2最后四位int i;BYTE M=240,t=m_operate;//11110000BYTE H,L,x[8],y[4];y[3]=8;y[2]=4;y[1]=2;y[0]=1;for(i=0;i<8;i++){x[i]=m_operate&1;m_operate>>=1;}H=x[7]*y[3]+x[6]*y[2]+x[5]*y[1]+x[4]*y[0];//hightL=x[3]*y[3]+x[2]*y[2]+x[1]*y[1]+x[0]*y[0];//lowoperate1&=M;operate2&=M;operate1+=H;operate2+=L;}void CWaterMarkDlg::PutInWaterMessage(){long a,b,c,d;a = ImageHeight;b = ImageWidth;c = WaterHeight;d = WaterWidth;}BYTE CWaterMarkDlg::Operate_ByteOut(BYTE operate1,BYTE operate2){//相对与Operate_Byte()int i = 0;BYTE x[8],y[8],data;for (i=0;i<4;i++){x[i]=operate2&1;operate2>>=1;//取出最低的四位}for (i=4;i<8;i++){x[i]=operate1&1;operate1>>=1;//取出最高的四位}y[0]=1;y[1]=2;y[2]=4;y[3]=8;y[4]=16;y[5]=32;y[6]=64;y[7]=128;data=x[0]*y[0]+x[1]*y[1]+x[2]*y[2]+x[3]*y[3]+x[4]*y[4]+x[5]*y[5]+x[6]*y[6] +x[7]*y[7];return data;} ……void CWaterMarkDlg::OnOpenW_E_Bitmap(){// TODO: Add your control notification handler code hereCFileDialog dlg(TRUE, "", NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT |OFN_ALLOWMULTISELECT,"(*.bmp)|*.bmp|所有文件(*.*)|*.*||",AfxGetMainWnd());if(dlg.DoModal()!=IDOK)return;if(hwnd[2]!=NULL)hwnd[2]=NULL;if(hSrcDC[2]!=NULL) hSrcDC[2]=NULL;if(hDesDC[2]!=NULL) hDesDC[2]=NULL;hwnd[2] =GetDlgItem(IDC_STATIC2);hDesDC[2]=hwnd[2]->GetDC()->m_hDC;hSrcDC[2]=CreateCompatibleDC(hDesDC[2]);CString file;file=dlg.GetPathName();POSITION pos=dlg.GetStartPosition();file = dlg.GetNextPathName(pos);Embed2Data(file);hBitmap[2]=(HBITMAP)LoadImage(AfxGetInstanceHandle(),file,IMAGE_BITMAP,0,0,L R_LOADFROMFILE|LR_CREATEDIBSECTION);GetObject(hBitmap[2],sizeof BITMAP, &bm[2]);SelectObject(hSrcDC[2], hBitmap[2]);hwnd[2]->GetClientRect(&rect[2]);::SetStretchBltMode(hDesDC[2],COLORONCOLOR);::StretchBlt(hDesDC[2],rect[2].left, rect[2].top, rect[2].right, rect[2].bottom,hSrcDC[2], 0,0,bm[2].bmWidth, bm[2].bmHeight,+SRCCOPY);show[2]=TRUE;SetTimer(NULL,50,0);}运行结果如下图:5、实验遇到问题及解决方法实验中,由于对加载DLL以及DCT系数有较浅的认识,所以实验起来有些麻烦,特别是编写、整合源程序的过程。

相关文档
最新文档