`

恺撒密码

阅读更多

恺撒密码

在密码学中,恺撒密码是一种最简单且最广为人知的加密技术。它是一种替换加密的技术,明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文。例如,当偏移量是3的时候,所有的字母A将被替换成D,B变成E,以此类推。这个加密方法是以恺撒的名字命名的,当年恺撒曾用此方法与其将军们进行联系。

例如,下面是凯撒密码的偏移量k=3的情况

初始字母顺序:  A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
凯撒变换后 :  D E F G H I J K L M N O P Q R S T U V W X Y Z A B C

请编写代码实现恺撒密码。

 

输入:

偏移量K

待加密的字符串

输出:

加密后的字符串。注意只需用对大小写字母进行变换,其它字符原样输出

 

import java.io.*;
public class KaiSaMiMa {

	//传过来要加密的字符串和偏移量
	public static String jiaMi(String s,int k){
		String result = "";
		for(int i=0;i<s.length();i++){
			char c = s.charAt(i);
			if(c >= 'a' && c <= 'z'){//判断是小写字母
				c += k%26;//移动key%26位,以防k>26
				if(c < 'a')//向左超界
					c += 26;
				if(c > 'z')//向右超界
					c -= 26;
			}else if(c >= 'A' && c <= 'Z'){//判断是大写字母
				c += k%26;
				if(c < 'A')
					c += 26;
				if(c > 'Z')
					c -= 26;
			}
			result += c;
		}
		return result;
			
	}
	public static void main(String[] args) throws IOException {
		System.out.println("请输入偏移量和要加密的字符串:");
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));//输入字符串
		int k = Integer.parseInt(br.readLine());//接收第一行的偏移量
		String str = br.readLine();//接收第二行的要加密的字符串
		String c = jiaMi(str,k);//调用jiaMi进行加密
		System.out.println(k);//打印
		System.out.print(c);
		}
	}

 

运行结果如下:

请输入偏移量和要加密的字符串:
5
My name is avanry/
5
Rd sfrj nx fafswd/

  

分享到:
评论

相关推荐

    恺撒密码转换器exe

    【恺撒密码转换器exe】是一款专门用于加密和解密的工具,其核心算法基于古老的密码学技术——恺撒密码。这种密码系统是历史上最早、最简单的一种替换式加密技术,由古罗马的凯撒大帝所使用,因此得名。在本文中,...

    kaisa.rar_kaisa_恺撒密码

    【恺撒密码详解及其Python实现】 恺撒密码(Caesar Cipher),又称凯撒加密法,是历史上最早出现的替换加密技术之一,由古罗马的凯撒大帝使用于军事通信中。这种加密方法简单易懂,它通过将明文中的每个字母按照...

    在密码学中,恺撒密码是一种最简单并且最广为人知的加密技术。 它是一种替换加密的技术,明文中的所欲字母都在字母表上向后(或向前)

    这个加密方法是以恺撒的名字命名的,当年恺撒曾用此方法与其将军们进行联系。

    kaisamima.rar_Caesar_恺撒密码

    【标题】"kaisamima.rar_Caesar_恺撒密码"揭示了这是一个与恺撒密码(Caesar Cipher)相关的程序,使用C语言编写。在信息安全领域,凯撒密码是一种非常基础的替换式密码编码技术,它通过将明文中的每个字符按照字母...

    C#恺撒密码加密解密器+文档

    **C#恺撒密码加密解密器+文档** 在信息技术领域,数据安全是至关重要的一个环节,而加密技术就是保障信息安全的重要工具。本资源提供了一个使用C#编程语言实现的恺撒密码(Caesar Cipher)加密解密软件,它具备图形...

    一个简单的恺撒密码算法

    一个简单的C语言写的恺撒密码算法

    恺撒密码.py

    恺撒密码.py

    C语言 恺撒密码

    【恺撒密码】是一种古老的加密技术,源自古罗马凯撒大帝时期,用于军事通信。在C语言中实现恺撒密码的基本思想是通过字母表的位移来达到加密和解密的效果。每个字母在原文的基础上按照一个固定的偏移量(密钥)进行...

    凯撒密码转换器

    在提供的压缩包文件“恺撒密码转换器”中,很可能包含了一个这样的程序,用户可以输入文本和偏移值,程序会自动完成加密或解密过程。 虽然凯撒密码在当今的网络安全中并不实用,但它在密码学教育和理解基本加密原理...

    恺撒密码及其改进---C语言课程设计题目.doc

    恺撒密码及其改进---C语言课程设计题目

    php凯撒密码加密和解密---适合加密英文

    恺撒密码(英语:Caesar cipher),或称恺撒加密、恺撒变换、变换加密,是一种最简单且最广为人知的加密技术。它是一种替换加密的技术,明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被...

    恺撒(caesar)密码

    【恺撒密码】是一种古老的加密技术,源自古罗马时期,由凯撒大帝所使用,因此得名。这种密码的基本思想是通过将明文中的每个字母按照固定位数进行替换,形成密文,以达到保护信息的目的。在中文环境下,恺撒密码通常...

    电子商务安全恺撒密码

    没有截图,不过运行之后可以自己截图的,相当完善

    恺撒(caesar)密码

    ### 恺撒密码原理与实现 #### 一、恺撒密码简介 恺撒密码(Caesar cipher),也称为移位密码,是一种简单的替换加密技术。这种加密方法以古罗马军事领袖尤利乌斯·恺撒的名字命名,他在军事通信中使用了这种加密...

    凯撒密码C++的实现

    凯撒密码,又称为移位密码,是一种古老且基础的加密技术,源于古罗马时期的通信安全。它通过将明文中的每个字符按照一个固定的偏移量进行字母表上的平移来实现加密。例如,如果偏移量是3,那么字母"A"会变成"D","B...

    凯撒密码(恺撒密码)加解密 支持自定义排序密码表-易语言

    凯撒密码,又称恺撒密码,是古典密码学中一种简单但重要的替换加密技术。它以罗马皇帝朱利叶斯·凯撒的名字命名,因为这种密码曾被他用于军事通信。凯撒密码的基本原理是将明文中的每个字符按照一个固定的位移量进行...

    在线密码生成器

    这是一款十分实用的在线加密生成器源码,包含MD5加密,哈斯算法加密、密码大小写转换的功能,十分的实用,有需要的可以下载试用一下啊。 二、功能介绍 该源码主要实现了MD5加密,以及密码字符串大小写转换的功能...

    凯撒密码算法的实现

    凯撒密码,又称移位密码,是历史上最早且最简单的加密技术之一,它通过将明文中的每个字母按照固定数量的位移来实现加密。在本文中,我们将深入探讨凯撒密码的原理、实现方法以及如何通过编程实现这一经典算法。 ...

Global site tag (gtag.js) - Google Analytics