【网络安全基础】2基本加解密算法的实现

本文介绍了一个实验项目,旨在使用Java在Eclipse环境中实现凯撒密码和选做的维吉尼亚密码算法。实验要求包括实现凯撒密码的加密和解密功能,并可选实现维吉尼亚密码。实验提供了加密和解密的代码示例,并展示了相应的加密和解密结果。
摘要由CSDN通过智能技术生成

实验项目名称:基本加解密算法的实现

1、实验要求
(1)实现一个凯撒密码算法(Caesar cipher),要求输入一个数字作为秘钥K,对输入的任意字符串(暂时只考虑英文字符和数字)可以输出凯撒密码算法加密的密文。
(2)扩展题(选做):查资料了解维吉尼亚密码并进行实现,要求输入一个字符串作为秘钥K,对输入的任意字符串(暂时只考虑英文字符和数字)可以输出维吉尼亚密码算法加密的密文。

2、实现方法
在Eclipse中用Java语言实现上述结果

3、实验过程及结果
(1)实验代码如下:

package prj1;
import java.util.Scanner;
public class CODE1 {
   
	public static void main(String[] args) {
   
		// TODO Auto-generated method stub
		System.out.println("[A 加密][J 解密],请选择一个");
		Scanner c=new Scanner(System.in);//	创建Scanner对象
		String s1=c.nextLine();//获取本行的字符串
		if(s1.equalsIgnoreCase("A")) {
   //判断变量s1与A是否相等,忽略大小
			System.out.println("请输入明文:");
			Scanner sc=new Scanner(System.in);
			String s=sc.nextLine();
			System.out.println("请输入密钥:");
			Scanner sc1=new Scanner(System.in);
			int key=sc1.nextInt();//将下一输入项转换成int类型
			Encryption(s,key);//调用Encryption方法
		}else if(s1.equalsIgnoreCase("J")) {
   
			System.out.println("请输入密文:");
			Scanner sc=new Scanner(System.in);
			String s=sc.nextLine();
			System.out.println("请输入密钥:");
			Scanner sc1=new Scanner(System.in);
			int key=sc1.nextInt();
			Decrypt(s,key);//调用Encryption方法
		}
	}
	public static void Decrypt(String str, int n) {
   
		// TODO Auto-generated method stub
		//解密
		int k=Integer.parseInt("-"+n);
		String string="";
		for(int i=0;i<str.length();i++) {
   
			char c=str.charAt(i);
			if(c>='a'&&c<='z')//如果字符串中的某个字符是小写字母
			{
   
				c+=k%26;//移动key%26位
				if(c<'a')
					c+=26;//向左超界
				if(c>'z')
					c-=26;//向右超界
			}else if(c>='A'&&c<='Z')//如果字符串中的某个字符是大写字母
			{
   
				c+=k%26;//移动key%26位
				if(c&
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值