信息安全实验报告一

合集下载

信息安全专业实验报告

信息安全专业实验报告

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

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

二、实验目的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框架进行安全测试。

信息安全操作实验报告

信息安全操作实验报告

信息安全操作实验报告实验名称:信息安全操作实验实验目的:1. 掌握信息安全操作的基本知识和技能。

2. 熟悉常用的信息安全操作工具和方法。

3. 培养对信息安全的意识和保护意识。

实验步骤:1. 实验前准备:了解信息安全的基本概念和原则,并掌握常见的信息安全威胁和攻击方式。

2. 实验环境:搭建一个模拟的网络环境,包括若干主机和服务器。

3. 实验内容:3.1. 使用端口扫描工具扫描实验环境中的主机和服务器的开放端口,并记录扫描结果。

3.2. 通过漏洞扫描工具对实验环境中的主机和服务器进行漏洞扫描,并记录扫描结果。

3.3. 使用弱口令攻击工具对实验环境中的主机和服务器进行弱口令攻击,测试其安全性。

3.4. 利用网络钓鱼工具进行网络钓鱼攻击,诱导用户输入敏感信息,并分析攻击效果。

3.5. 使用反弹Shell工具在实验环境中获取目标主机的控制权,并演示如何防范此类攻击。

实验结果:1. 根据扫描结果,分析开放端口的意义和可能的安全威胁,及时进行相应的安全设置和防护措施。

2. 根据漏洞扫描结果,及时修补系统和应用程序的漏洞,以提高信息系统的安全性。

3. 验证弱口令攻击的威胁,警醒用户要设置强密码,并做好密码管理和定期更改密码的习惯。

4. 通过网络钓鱼攻击的演示,提高用户的警觉意识,防范钓鱼等社交工程攻击。

5. 演示防范反弹Shell攻击的方法,包括防火墙设置、入侵检测系统的配置和使用,提高系统的安全性。

实验结论:通过本次实验,我深刻认识到了信息安全的重要性和必要性。

信息安全操作是保护个人隐私、企业重要信息及国家安全的重要手段。

在实际工作和生活中,我们要时刻保持对信息安全的警惕,并采取相应的安全操作措施。

不仅对个人而言,企业和政府也要高度重视信息安全,加强信息安全的培训和管理,确保信息系统的安全稳定运行。

在信息安全操作中,要掌握一些基本的安全工具和方法,如端口扫描、漏洞扫描、弱口令攻击和网络钓鱼攻击等。

了解这些攻击手段和防范方法,有助于提升自身的信息安全意识和能力。

信息安全实验报告

信息安全实验报告

信息安全实验报告一、实验目的随着信息技术的飞速发展,信息安全问题日益凸显。

本次实验的目的在于深入了解信息安全的重要性,掌握常见的信息安全攻击与防御手段,并通过实际操作提高对信息安全问题的应对能力。

二、实验环境本次实验在以下环境中进行:1、操作系统:Windows 10 专业版2、应用软件:Wireshark 网络协议分析工具、Metasploit 渗透测试框架、Nmap 网络扫描工具等3、网络环境:实验室内部局域网三、实验内容1、网络扫描与漏洞检测使用Nmap 工具对目标网络进行扫描,获取网络中主机的存活状态、开放端口等信息。

通过分析扫描结果,发现了一些潜在的安全漏洞,如某些主机开放了不必要的端口,可能导致未经授权的访问。

2、密码破解利用常见的密码破解工具,对预设的密码哈希值进行破解。

实验中采用了字典攻击和暴力攻击两种方法。

通过字典攻击,成功破解了一些简单的密码;而暴力攻击由于计算资源消耗较大,在有限的时间内未能取得明显效果。

3、网络监听与数据包分析使用 Wireshark 工具对网络中的数据包进行捕获和分析。

通过对捕获的数据包进行深入研究,发现了一些明文传输的敏感信息,如用户名和密码,这暴露了网络通信中的安全隐患。

4、漏洞利用与渗透测试借助 Metasploit 框架,对存在漏洞的目标系统进行渗透测试。

成功利用了一个已知的漏洞获取了系统的控制权,这充分说明了及时修复系统漏洞的重要性。

四、实验结果与分析1、网络扫描结果显示,部分主机存在安全配置不当的问题,开放了过多的端口,增加了遭受攻击的风险。

建议加强网络设备的安全配置,只开放必要的端口。

2、密码破解实验表明,简单的密码容易被破解,用户应采用复杂且包含多种字符类型的密码,并定期更换密码,以提高账户的安全性。

3、网络监听和数据包分析揭示了明文传输敏感信息的严重性。

应推广使用加密技术,确保数据在网络中的传输安全。

4、漏洞利用和渗透测试结果强调了及时更新系统补丁和加强安全防护的必要性,以防止黑客利用已知漏洞入侵系统。

信息安全技术实验报告

信息安全技术实验报告

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

信息安全的实验报告(3篇)

信息安全的实验报告(3篇)

第1篇一、实验目的本次实验旨在通过实际操作,加深对信息安全理论知识的理解,提高实际操作能力,培养信息安全意识。

实验内容包括:1. 熟悉常用的信息安全工具和软件;2. 学习基本的加密和解密方法;3. 掌握常见的信息安全攻击和防范措施;4. 了解网络安全的防护策略。

二、实验原理信息安全是指保护信息在存储、传输和处理过程中的保密性、完整性和可用性。

本实验涉及以下原理:1. 加密技术:通过对信息进行加密,使未授权者无法获取原始信息;2. 解密技术:使用密钥对加密信息进行解密,恢复原始信息;3. 安全协议:确保信息在传输过程中的安全;4. 入侵检测:实时监控网络和系统,发现并阻止恶意攻击。

三、实验内容1. 加密与解密实验(1)使用RSA算法对文件进行加密和解密;(2)使用AES算法对文件进行加密和解密;(3)使用对称密钥和非对称密钥进行加密和解密。

2. 信息安全工具使用实验(1)使用Wireshark抓取网络数据包,分析网络通信过程;(2)使用Nmap进行网络扫描,发现目标主机的开放端口;(3)使用XSSTest进行跨站脚本攻击实验;(4)使用SQL注入攻击实验。

3. 信息安全防护实验(1)使用防火墙设置访问控制策略;(2)使用入侵检测系统(IDS)监控网络流量;(3)使用安全审计工具对系统进行安全审计。

四、实验步骤1. 安装实验所需软件,如Wireshark、Nmap、XSSTest等;2. 按照实验指导书的要求,进行加密和解密实验;3. 使用信息安全工具进行网络扫描、漏洞扫描和攻击实验;4. 设置防火墙和入侵检测系统,对网络进行安全防护;5. 使用安全审计工具对系统进行安全审计。

五、实验结果与分析1. 加密与解密实验:成功使用RSA和AES算法对文件进行加密和解密,验证了加密技术的有效性;2. 信息安全工具使用实验:成功使用Wireshark抓取网络数据包,分析网络通信过程;使用Nmap进行网络扫描,发现目标主机的开放端口;使用XSSTest和SQL 注入攻击实验,验证了信息安全工具的功能;3. 信息安全防护实验:成功设置防火墙和入侵检测系统,对网络进行安全防护;使用安全审计工具对系统进行安全审计,发现潜在的安全隐患。

信息安全实验总结报告

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

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

木马是隐藏在正常程序中的具有特殊功能的恶意代码,是具备破坏、删除和修改文件、发送密码、记录键盘、实施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、计算机:若干台,安装了 Windows 操作系统和常用的应用软件。

2、网络设备:路由器、交换机等,用于构建实验网络。

3、安全工具:防火墙、入侵检测系统、漏洞扫描工具等。

4、实验软件:Metasploit、Nmap、Wireshark 等。

三、实验内容(一)网络扫描与漏洞探测使用 Nmap 工具对目标网络进行扫描,获取网络拓扑结构、主机信息和开放端口等。

通过漏洞扫描工具对目标主机进行漏洞探测,发现可能存在的安全漏洞,如弱口令、系统漏洞、应用程序漏洞等。

(二)网络攻击模拟1、利用 Metasploit 框架进行漏洞利用攻击,如缓冲区溢出攻击、SQL 注入攻击等,尝试获取目标主机的控制权。

2、进行DDoS 攻击模拟,使用工具向目标服务器发送大量的请求,导致服务器资源耗尽,无法正常提供服务。

(三)网络防御措施1、配置防火墙规则,限制外部网络对内部网络的访问,阻止非法流量进入。

2、安装入侵检测系统,实时监测网络中的异常活动,及时发现并报警。

3、定期对系统和应用程序进行补丁更新,修复已知的安全漏洞。

4、加强用户认证和授权管理,设置强口令策略,防止非法用户登录。

(四)数据加密与解密1、学习对称加密算法(如 AES)和非对称加密算法(如 RSA)的原理和实现方法。

2、使用加密工具对文件进行加密和解密操作,体会数据加密在保护信息安全中的作用。

四、实验步骤(一)网络扫描与漏洞探测1、打开 Nmap 工具,输入目标网络的 IP 地址范围,选择扫描类型(如全面扫描、端口扫描等),开始扫描。

信息安全测评实验报告

一、实验背景随着互联网的普及和信息技术的发展,信息安全已经成为各行各业关注的焦点。

为了确保信息系统安全,提高我国信息安全防护能力,我们开展了信息安全测评实验。

本次实验旨在通过模拟攻击和防御,了解常见信息安全漏洞,提高应对网络安全威胁的能力。

二、实验目的1. 熟悉信息安全测评的基本流程和常用工具;2. 掌握常见信息安全漏洞的检测方法;3. 增强信息安全意识,提高网络安全防护能力;4. 体验网络安全攻防实战,提升实际操作技能。

三、实验内容1. 系统扫描与信息搜集实验环境:Windows Server 2008 R2实验工具:Nmap、WHOIS、NSLookup实验步骤:(1)使用Nmap扫描目标主机的开放端口,获取目标主机的基本信息;(2)使用WHOIS查询目标域名注册信息,获取域名注册商、注册人等详细信息;(3)使用NSLookup查询目标域名的DNS解析记录,获取域名解析信息。

实验结果:获取目标主机开放端口、域名注册信息、DNS解析记录等。

2. 漏洞检测与验证实验环境:Windows Server 2008 R2实验工具:SQLmap、Metasploit实验步骤:(1)使用SQLmap扫描目标主机是否存在SQL注入漏洞;(2)使用Metasploit针对目标主机进行漏洞攻击测试,如MS17-010漏洞、CVE-2017-5638漏洞等。

实验结果:发现目标主机存在SQL注入漏洞、MS17-010漏洞等。

3. 漏洞利用与提权实验环境:Windows Server 2008 R2实验工具:Metasploit实验步骤:(1)使用Metasploit中的MS17-010漏洞模块攻击目标主机,获取系统权限;(2)在目标主机上执行提权操作,获取管理员权限。

实验结果:成功获取目标主机管理员权限。

4. 漏洞修复与安全加固实验环境:Windows Server 2008 R2实验工具:Windows Update、安全策略配置实验步骤:(1)针对发现的漏洞,及时更新操作系统补丁;(2)配置安全策略,如禁用不必要的端口、限制远程桌面访问等;(3)定期进行安全检查,确保系统安全。

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

实验成绩《信息安全概论》实验报告_________实验一古典密码实验专业班级:学号:姓名:—完成时间:201d 05/ 09一、实验目的理解简单加密算法的原理;掌握凯撒密码的原理,完成凯撒密码加解密程序的编写;通过实验,加深对古典密码体制的了解,掌握对字符进行灵活处理的方法。

二、实验内容根据凯撒密码的原理编写程序,对输入的符号串能够根据设置的密钥分别正确实现凯撒加密和解密功能。

三、实验环境和开发工具1.Windows 7 系统2.Eclipse3.JDK 1.7四、实验步骤和结果首先获取要加密的内容以及密钥,凯撒密码的密钥即字符移动的位数。

由于凯撒密码器的移位是针对字符的,因此需要将待加密的内容中每个字符取出,然后针对每个字符分别加以移位。

主要步骤如下:(1)读取要加密的字符串、密钥。

(2)取出字符串中每个字符。

使用字符串类的charAt ()方法取出每个字符,分别加以移位。

(3)对每个字符进行移位。

由于字母表中共26个字符,因此移位前先将移动的位数(key)和26取模。

由于Java中字符和整型可自动转换,因此将字符加上一个正整数即代表在字母表中右移多少位。

如果移动的位数是负值,则代表在字母表中左移多少位。

尽管在移动之前已经将移动的位数和26取了模,但通过这种方式实现右移或左移仍可能发生超界。

如字母x右移4位应该是字母b,但将字母x增加4后超出26个字母的范围。

因此移位后使用两个if语句判断一下,如果向左超界(c<'a')则增加26;向右超界(c>'z')则减去26。

源程序:package Caesar;import java.io.*;import java.util.Scanner;* @author SiRuYan*/ public class Caesar {//声明一些全局变量public public public /** static String path; static String estr ="" static char c;*凯撒密码加密方法** @paramstr* @paramn*/public static void Encode(String str , int n) {for ( int i = 0; i < str .length(); i ++) {c = str .charAt( i);if ( c >= 'a' && c <= 'z')if ( c + n % 26 <= 'z' ) //移位后的字母不大于小写字母z,直接移位estr += ( char) ( c + n % 26);else//移位后的字母大于小写字母z,需要在26个字母之间循环estr += ( char) ( 'a' + (( n - ( 'z' - c) - 1) % 26));else if ( c >= 'A' && c <= 'Z')if ( c + n % 26 <= 'Z' ) //移位后的字母不大于大写字母Z,直接移位estr += ( char) ( c + n % 26);else//移位后的字母大于大写字母z,需要在26个字母之间循环estr += ( char) ( 'A' + (( n - ( 'Z' - c) - 1) % 26));else if ( c >= 'O' && c <= '9' ) // 对数字进行加密if ( c + n % 10 <= 9 ) estr += ( char) ( c + n % 10);elseestr += ( char) ( 'O' + (( n - ( 9 - c) - 1) % 10));elseestr += c;}}/***凯撒密码解密方法* @paramstr* @paramn*/public static void Decode(String str , int n) {for ( int i = 0; i < str .length(); i ++) {c = str .charAt( i);if ( c >= 'a' && c <= 'z')if ( c - n % 26 >= 'a') estr += ( char) ( c - n % 26);elseestr += ( char) ( 'z' - ( n - ( c - 'a' ) - 1) % 26);else if ( c >= 'A' && c <= 'Z')if ( c - n % 26 >= 'A') estr += ( char) ( c - n % 26);elseestr += ( char) ( 'Z' - ( n - ( c - 'A' ) - 1) % 26);else if ( c >= '0' && c <= '9')if ( c - n % 10 >= '0') estr += ( char) ( c - n % 10);elseestr += ( char)( '9' - ( n - ( c - '0' ) - 1) % 10);elseestr += c;}} public static void main(String args []) {Stri ng array =" Scanner in = null int numSystem. out .println( " ------------ 凯撒密码----------------- " );System, out .println( ” -------- 只支持英文和阿拉伯数字-By SiRuYan ---- " );try {System. out .println( "1、加密\n2、解密\n3、暴力破解”);System. out .print("请选择:”);in = new Scann er(System. in); // 读入选择序号String ed = in .next();if ( ed.equals( "1" ) || ed.equals( "2" ) || ed.equals( "3" )) {System. out.print("文件路径(*.txt):");path = in .next(); //读入加密文件路径File file = new File( path); //声明文件变量,以便读入指定文件路径下的文件内容FileInputStreamrdf = new FileInputStream( file );//available。

( FileInputStream 变量)方法返回的实际可读字节数,也就是总大小byte [] s = new byte [rdf .available。

];// System.out.pri ntl n(”文件的大小:"+rdf.available()); 测试语句int b = rdf .available();while (( b = rdf .read( s, 0, b)) != -1) { // 将文件内容读入字节数组中String content = newString( s, 0, b);array = array + content ;}rdf .close(); //关闭输入流if ( ed.equals( "3")) { // 3 暴力破解for (int k = 1; k <= 25; k++) {Decode( array , k);System. out .println( "密钥为"+ k + "时,结果是"+ estr );estr ="";if ( k >= 10) {for ( int j = 1; j <= 9; j ++) {Decode array , k + 26 * j);System. out.println( "密钥为"+ ( k + 26 * j )+ "时,结果为” + estr);estr ="";}}}System. out .print("正确的密钥为(整数):");int result = in .n ext In t();Decode array , result );} else {System. out .print("密钥(整数):");num= in .n ext In t();if ( ed.equals( "1" )) // 1 加密Encode( array , nunj;else // 2 解密Decode( array , nunj;}//最后重新把加密、解密后的内容,借助文件、缓冲区输入流重新写入文件File f = new File( path );FileWriter outFile = new FileWriter( f);BufferedWriter bufferOut = new BufferedWriter( outFile );bufferOut .write( estr );bufferOut .newLine();bufferOut .flush();bufferOut .close();System. out .print("原文件是否已成功加密或解密!”);} elseSystem. out .print("您输入有误。

”);} catch (Exception e) {System. out .print("输入错误。

相关文档
最新文档