信息安全实验报告一(共6页).doc
《信息安全实验报告一(共6页).doc》由会员分享,可在线阅读,更多相关《信息安全实验报告一(共6页).doc(6页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上 实验成绩信息安全概论实验报告实验一 古典密码实验专业班级:学号:姓名: 完成时间:2016/ 05/ 09一、 实验目的理解简单加密算法的原理;掌握凯撒密码的原理,完成凯撒密码加解密程序的编写;通过实验,加深对古典密码体制的了解,掌握对字符进行灵活处理的方法。二、 实验内容根据凯撒密码的原理编写程序,对输入的符号串能够根据设置的密钥分别正确实现凯撒加密和解密功能。三、 实验环境和开发工具1. Windows 7 系统2. Eclipse 3. JDK 1.7四、 实验步骤和结果首先获取要加密的内容以及密钥,凯撒密码的密钥即字符移动的位数。由于凯撒密码器的移位是针对字
2、符的,因此需要将待加密的内容中每个字符取出,然后针对每个字符分别加以移位。主要步骤如下:(1) 读取要加密的字符串、密钥。(2) 取出字符串中每个字符。使用字符串类的 charAt()方法取出每个字符,分别加以移位。(3) 对每个字符进行移位。由于字母表中共26个字符,因此移位前先将移动的位数(key)和26取模。由于Java中字符和整型可自动转换,因此将字符加上一个正整数即代表在字母表中右移多少位。如果移动的位数是负值,则代表在字母表中左移多少位。尽管在移动之前已经将移动的位数和26取了模,但通过这种方式实现右移或左移仍可能发生超界。如字母x右移4位应该是字母b,但将字母x增加4后超出26个
3、字母的范围。因此移位后使用两个if语句判断一下,如果向左超界(cz)则减去26。源程序:package Caesar;import java.io.*;import java.util.Scanner;/* * author SiRuYan */public class Caesar / 声明一些全局变量public static String path;public static String estr = ;public static char c;/* * 凯撒密码 加密方法 * * param str * param n */public static void Encode(Stri
4、ng str, int n) for (int i = 0; i = a & c = z)if (c + n % 26 = A & c = Z)if (c + n % 26 = 0 & c = 9) / 对数字进行加密if (c + n % 10 = 9)estr += (char) (c + n % 10);elseestr += (char) (0 + (n - (9 - c) - 1) % 10);elseestr += c;/* * 凯撒密码 解密方法 * param str * param n */public static void Decode(String str, int n
5、) for (int i = 0; i = a & c = a)estr += (char) (c - n % 26);elseestr += (char) (z - (n - (c - a) - 1) % 26);else if (c = A & c = A)estr += (char) (c - n % 26);elseestr += (char) (Z - (n - (c - A) - 1) % 26);else if (c = 0 & c = 0)estr += (char) (c - n % 10);elseestr += (char) (9 - (n - (c - 0) - 1)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 信息 安全 实验 报告
限制150内