`
liulanghan110
  • 浏览: 1064734 次
  • 性别: 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  
对中文没有效果吧。。。。

相关推荐

    凯撒密码C++

    凯撒密码的加解密,源代码;网络安全中的对称加密的典型算法

    凯撒密码C.txt

    凯撒密码作为一种最为古老的对称加密体制,在古罗马的时候都已经很流行,他的基本思想是:通过把字母移动一定的位数来实现加密和解密。

    Android对称加密与非对称加密

    凯撒密码作为一种最为古老的对称加密体制,在古罗马的时候都已经很流行,他的基本思想是:通过把字母移动一定的位数来实现加密和解密。明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换...

    密码解码工具Linux----CaptfEncoder-win-x64-2.1.0

    CaptfEncoder 是一款可扩展跨平台网络安全工具套件,提供网络安全相关编码转换、古典密码、密码学、非对称加密、特殊编码、杂项等工具,并聚合各类在线工具。编码转换包括:Ascii 编码,Base64、Base 系列编码,...

    Android 安全加密:对称加密详解

    本文主要介绍Android 安全加密对称加密,这里整理了详细的资料及介绍凯撒密码和对称密码的资料,有兴趣的小伙伴可以参考下

    密码实验报告

    密码学第二次课程实验报告。其中 是对对称密码是实现

    java通信安全 加密 数字签名 消息摘要

    java通信安全主要包括:md5 密码加密与验证 对称加密与解密 非对称加密以解密 基于MD5信息摘要算法实现密码加密与验证 凯撒加密算法 数字签名与验证 消息验证码 消息摘要 所有程序都经过了测试

    网络安全与网络管理课程.pptx.pptx

    对称加密技术 对称密码体制是一种传统密码体制,也称为私钥密码体制。在对称加密系统中,加密和解密采用相同的密钥。因为加解密密钥相同,需要通信的双方必须选择和保存他们共同的密钥,各方必须信任对方不会将密钥...

    kaisa.rar_kaisa_恺撒密码

    恺撒密码的实现源代码 恺撒密码是一种对称密钥算法 希望对大家有用,特别是学生

    计算机网络安全培训课程.pptx

    密码学与信息安全 信息的私密性(Privacy) 对称加密 信息的完整性(Integrity) 单向散列算法 信息的源发鉴别(Authentication) 数字签名 信息的防抵赖性(Non-Reputation) 数字签名 + 时间戳 计算机网络安全培训课程...

    密码学基础(1)

    一、对称密钥密码系统 发送方加密与解密方解密使用同一个密钥,密钥是事先双方共享的秘密。 明文 P 密文 C 密钥 K 加密算法 E:M*K-&gt;C 解密算法 D:C*K-&gt;M 所有密码全部寓于密钥 凯撒密码 明文 p 密文 C 密钥 k 加密...

    c# 加密和解密相关代码

    图19.4 使用恺撒密码算法加密密码 C#开发实战1200 例(第II卷) 834 public string Caesar(string str) //凯撒加密算法的实现 { char[] c = str.ToCharArray(); //创建字符数组 string strCaesar = ""; //定义一个...

    网络安全知识手册学习心得.docx

    最早的加密技术,当属凯撒加密法了。秘密金轮,就是加解密的硬件设备可以公用,可以大量生产,以降低硬件加解密设备的生产与购置成本。破译和加密技术从来就是共存的,彼此牵制,彼此推进。错综复杂的加解密演算法...

    kaisaJiaMI.rar_cipher IDEA

    凯撒密码作为一种最为古老的对称加密体制,在古罗马的时候都已经很流行,他的基本思想是:通过把字母移动一定的位数来实现加密和解密。

    POSET:面向模式的安全加密技术-研究论文

    传统的对称密钥密码术很少使用模式进行加密过程。 在信息技术以前所未有的速度增长的信息技术时代,正在产生的数据量正以不可估量的速度增长。 存在将数据用于不道德目的的巨大风险。 有多种加密技术可确保数据的...

    关于网络安全的总结.docx

    网络安全的重点是对网络系统的设备、程序及其中的信息进行保护,防止信息其被恶意或者偶然地损害、篡改、泄露等,...其实公钥密码学的核心基础就是数学领域里某些问题的正反非对称性,如整数分解问题RSA、离散对数问题D

    java源码包---java 源码 大量 实例

     Java非对称加密源程序代码实例,本例中使用RSA加密技术,定义加密算法可用 DES,DESede,Blowfish等。  设定字符串为“张三,你好,我是李四”  产生张三的密钥对(keyPairZhang)  张三生成公钥(publicKeyZhang...

    JAVA 范例大全 光盘 资源

    实例41 Java字符串之密码加密 93 实例42 正则表达式验证字符串 95 第7章 Java常用类 98 实例43 数字的舍入 98 实例44 转换数字的进制 101 实例45 随机数 103 实例46 Java Applet绘制心形曲线 106 实例47 简单...

    java源码包2

     Java非对称加密源程序代码实例,本例中使用RSA加密技术,定义加密算法可用 DES,DESede,Blowfish等。  设定字符串为“张三,你好,我是李四”  产生张三的密钥对(keyPairZhang)  张三生成公钥(publicKeyZhang...

    java源码包3

     Java非对称加密源程序代码实例,本例中使用RSA加密技术,定义加密算法可用 DES,DESede,Blowfish等。  设定字符串为“张三,你好,我是李四”  产生张三的密钥对(keyPairZhang)  张三生成公钥(publicKeyZhang...

Global site tag (gtag.js) - Google Analytics