`
liulanghan110
  • 浏览: 1076768 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

对称加密之凯撒密码

    博客分类:
  • JAVA
阅读更多

凯撒密码作为一种最为古老的对称加密体制,在古罗马的时候都已经很流行,他的基本思想是:通过把字母移动一定的位数来实现加密和解密。例如,如果密匙是把 明文字母的位数向后移动三位,那么明文字母B就变成了密文的E,依次类推,X将变成A,Y变成B,Z变成C,由此可见,位数就是凯撒密码加密和解密的密 钥。 

 

JAVA实现代码如下:

 

import java.io.UnsupportedEncodingException;

public class test1 {
	public String encrypt(String str, Integer key) {

		String s = "";
		for (int i = 0; i < str.length(); i++) {
			char c = str.charAt(i);
			if (c >= 'a' && c <= 'z') // 是小写字母
			{
				c += key % 26; // 移动key%26 位
				if (c < 'a')
					c += 26; // 向左超界
				if (c > 'z')
					c -= 26; // 向右超界
			} else if (c >= 'A' && c <= 'Z') // 是大写字母
			{
				c += key % 26;
				if (c < 'A')
					c += 26;
				if (c > 'Z')
					c -= 26;
			}
			s += c;
		}
		return s;
	}
	
	public static void main(String args[]) throws UnsupportedEncodingException
	{
		String str = "HowAreYou";
		test1 t = new test1();
		String str1 = t.encrypt(str, 3);
		String str2 = t.encrypt(str1, -3);
		System.out.println("原文:"+str);
		System.out.println("加密后:"+str1);
		System.out.println("解密后:"+str2);
	}
}

 打印结果:

原文:HowAreYou
加密后:KrzDuhBrx
解密后:HowAreYou

分享到:
评论
1 楼 qq123zhz 2011-07-22  
对中文没有效果吧。。。。

相关推荐

    计算机密码学 凯撒密码加密算法

    在现代,我们使用的是更为安全的公钥密码系统,如RSA,以及对称加密技术,如AES,它们提供了足够的安全性以保护敏感信息。 在学习凯撒密码时,可以编写简单的程序来实现加密和解密过程,这有助于理解加密算法的工作...

    kaisajiami.rar_caesar delphi_凯撒密码_凯撒密码.com_加密与解密

    对于专业用途,现代加密技术如AES(高级加密标准)、RSA等非对称加密算法等提供了更高水平的安全保障。 总的来说,这个项目是一个学习和实践基础加密技术的好例子,通过Delphi编程,用户可以直观地了解加密和解密...

    计算机密码学实验教学使用的凯撒密码转换器.zip

    在实际应用中,现代的密码学不仅仅依赖于单一的加密技术,而是结合了多种复杂算法,如非对称加密(RSA、ECC)、哈希函数(MD5、SHA系列)和消息认证码(MAC)。这些技术广泛应用于网络安全、数据传输、数字签名和...

    凯撒密码的基本程序由于

    通过学习凯撒密码,我们可以更好地理解密码学的基本原理,以及为什么现代密码系统需要更高的复杂性和动态性,如非对称加密、哈希函数和公钥基础设施等。 实验一 古典密码学中的凯撒密码学习通常包括编写程序来实现...

    对称密码学理论

    其中,分组密码和流密码都是对称加密算法的重要组成部分,它们在实际应用中极为广泛。 #### 古典加密技术 - **凯撒密码**:这是一种非常古老的替换式密码技术,其加密方式简单直观。例如,如果密钥为3,则字母表中...

    凯撒密码C++

    在现代信息安全领域,虽然凯撒密码已不再适用于高强度的加密需求,但它仍然是密码学教学和理解对称加密原理的重要例子。在这个“凯撒密码C++”项目中,我们将探讨如何使用C++编程语言实现凯撒密码的加密与解密过程。...

    智能信息安全-现代密码学之对称密码.rar

    DES是1970年代由IBM开发的一种对称加密算法,它使用56位的密钥对64位的数据块进行操作。然而,随着计算能力的增强,DES的密钥长度被认为不够安全,因此后来发展出了3DES(Triple DES),通过三次加密以增加安全性。...

    基于凯撒密码的加密.zip

    凯撒密码,又称为凯撒移位密码,是历史上最早且最简单的替换式加密技术之一。这个古老的加密方法由古罗马皇帝...例如,现代的对称加密算法如AES(高级加密标准)和非对称加密算法如RSA,提供了远超凯撒密码的安全性。

    凯撒密码 (19)安装教程

    同时,它也能帮助理解密码学中的一般概念,如对称加密、非对称加密以及它们在现实世界中的应用。 总的来说,"凯撒密码 (19) 安装教程"是一个不错的起点,适合那些对密码学感兴趣,希望从基础开始学习的人。通过实际...

    智能信息安全-现代密码学之对称密码.pptx

    随着科技的发展,对称密码不断进化,如AES的出现,标志着对称加密技术在安全性和效率上的双重提升。在未来的信息安全领域,对称密钥密码仍将持续发挥重要作用,并可能与非对称密钥密码和其他新兴技术结合,提供更...

    凯撒加密算法实现(解密)

    凯撒加密算法是一种古老的密码学方法,其基本思想是通过将...同时,它也提醒我们,尽管凯撒加密在历史上有其价值,但在现代信息安全环境中,我们需要更加复杂和安全的加密技术,如公钥加密、哈希函数和对称密钥加密等。

    凯撒密码的c++程序设计

    凯撒密码,又称为移位密码,是一种古老但...通过理解这个简单的程序,我们可以进一步探讨更复杂的加密方法,如Vigenère密码或现代的对称密钥算法,如AES。同时,这也可以作为理解C++字符串处理和函数调用的一个实例。

    凯撒密码和playfair密码-实验报告.pdf

    实验报告主要涵盖了两种古典对称密码体制:凯撒密码和Playfair密码。这些密码系统是密码学历史上的重要里程碑,为现代加密技术奠定了基础。 凯撒密码,又称移位密码,是最简单的替换密码之一。其原理是将明文中的每...

    python版实现凯撒密码.docx

    # 凯撒密码(caesar)是最早的代换密码,对称密码的一种 # 算法:将每个字母用字母表中它之后的第k个字母(称作位移值)替代 def encryption(): str_raw = input("请输入明文:") k = int(input("请输入位移值:")) ...

    DES和凯撒和Rijindae和RC2—加密解密

    DES是一种古老的对称加密算法,由IBM在1970年代开发,并于1977年被美国政府采纳为标准。它使用64位的明文块和56位的密钥进行加密,通过16轮的Feistel结构变换实现。然而,由于其密钥长度较短,现在DES已被认为不够...

    古典加密算法之置换密码和代换密码

    在现代密码学中,我们利用数学的复杂性和计算资源的限制来设计更加安全的加密算法,如公钥密码体制和对称密钥密码体制,如RSA和AES等。 了解古典加密算法有助于我们理解现代密码学的基础,以及为什么需要不断更新和...

    对称密钥密码系统.pdf

    对称密钥密码系统是密码学中的一种常见的加密技术,它的历史可以追溯到2000多年以前的罗马国王Julius Caesar时期,当时他使用了一种称为“凯撒密码”的加密算法。凯撒密码其实是一种移位密码算法的特例,它的安全性...

Global site tag (gtag.js) - Google Analytics