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

在本代码中,需要输入两个变量字符串数组及偏移量n,同时代码中给与两个方法dataEncryption(str)和dataDeciphering(str),需要调用加密或者解密时分别调用即可。

package Mao.Learning;import javax.xml.crypto.Data;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Scanner;public class Caeser {static  int n;public static void main (String[] args) {char []ans = new char[26];Scanner sc = new Scanner(System.in);System.out.println("Input string ");String str = sc.nextLine();//用于输入字符串,按下回车终止System.out.println("Input n");n = sc.nextInt();//       dataEncryption(str);dataDeciphering(str);}private static void dataDeciphering (String str) {List <Character>list = new ArrayList();for (int i = 0;i< str.length();i++){if (str.charAt(i)==' ')list.add(' ');elselist.add((char)(65+(((int)str.charAt(i)-65)+(26-n))%26));//补码}System.out.println("解密后明文为");say(list);}private static void say (List<Character> list) {for (char ch:list){System.out.print(ch);}}private static void dataEncryption (String str) {List <Character>list = new ArrayList();for (int i = 0;i< str.length();i++){if (str.charAt(i)==' ')list.add(' ');elselist.add( (char)(65+(((int)str.charAt(i)-65)+n)%26));}System.out.println("加密后密文为");say(list);}
}

凯撒密码的Java实现相关推荐

  1. java密码框转字符串_实现汉字的凯撒密码(内容包括:去掉字符串中的转义字符、汉字的unicode转换)...

    实验内容: 选择合适的秘钥,利用上述三个算法:熟悉恺撒密码.双重置换密码.一次一密密码算法.加密如下明文: 大风起兮云飞扬, 威加海内兮归故乡, 安得猛士兮守四方. <大风歌>--刘邦 3 ...

  2. Java实现凯撒密码、维吉尼亚密码、双换位密码、RC4算法加密

    文章目录 前言 一.凯撒密码 二.维吉尼亚密码 三.双换位密码 四.RC4算法加密 前言 本博文为信息安全与支付课程的课程作业. 一.凯撒密码 文件有:Caesar.java.输入文件input1.t ...

  3. Java简易实现凯撒密码——英文句子加密

    Java简易实现凯撒密码--英文句子加密 今天要讲的是凯撒密码,它是一种替换加密的技术,明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文.例如,当偏移量是3的时候,所有 ...

  4. Java实现 洛谷 P1914 小书童——凯撒密码

    import java.util.Scanner;public class 凯撒密码 {public static void main(String[] args) {Scanner sc = new ...

  5. java实现凯撒密码_凯撒密码--java实现

    关于凯撒密码的介绍我就不多说了,感兴趣的可以看什么是凯撒密码?,我主要说的是java如何实现. 我发现网上有写java加密解密的,写的时候发现只需要一个转换函数就可以了,可以作为加密用,也可以用作解密 ...

  6. JAVA第一次实验 ——凯撒密码

    课程:Java程序设计 班级:1352 姓名:黄伟业 学号:20135215 成绩:            指导教师:娄嘉鹏  实验日期:2015.4.15 实验密级: 预习程度:  实验时间:19: ...

  7. java解决凯撒密码问题

    java 凯撒密码问题 class hello {String s;int key;hello (String es,int n){s=es;key=n;}public String process( ...

  8. 凯撒密码加密解密——Java代码(密码学)

    凯撒密码加密解密--Java代码(密码学) 凯撒密码: 恺撒密码(英语:Caesar cipher),或称恺撒加密.恺撒变换.变换加密,是一种最简单且最广为人知的加密技术.它是一种替换加密的技术,明文 ...

  9. playfair密码和凯撒密码加密算法的Java实现

    文章目录 一.实现广义的凯撒密码加密算法 二.实现广义的playfair密码的加密算法 总结 加密原理: 一.实现广义的凯撒密码加密算法 //实现广义的凯撒密码//凯撒密码的加密String plai ...

  10. C语言凯撒密码字母向后偏移三位,凯撒加密解密(java字母移位)

    1.设计思想:加密就是将字符数据转化为ASC码表中的数字,a-w之间通过加3之后再转化为字符型输出,x-z之间通过转化为ASC码表中的数字后减去23再转化为字符型输出.解密就是将字符数据转化为ASC码 ...

最新文章

  1. mysql学习之-密码管理(默认密码,修改密码,解决忘记密码)
  2. CVE-2009-3459
  3. 完整的Web应用程序Tomcat JSF Primefaces JPA Hibernate –第3部分
  4. 干货|训练神经网络时要知道的几个要点
  5. 基于SLS构建RDS审计合规监控
  6. ueditor上传图片尺寸过大导致显示难看的解决办法
  7. form表单属性名相同java_form表单提交 list对象给Java 后台结合
  8. 的table数据重复添加_Excel中的超级表Table详细介绍(一)
  9. TYVJ 1014 乘法游戏
  10. 软件测试英语笔试,软件测试英文面试笔试题
  11. System Verilog线程——fork join的理解使用
  12. shiro-cas------整合springboot客户端
  13. 庆贺:在国产平台上成功运行gluegen/jogl 2.3.2
  14. SQLSERVER 恢复挂起
  15. c语言中除法取整6,关于C语言的除法与取整问题!?
  16. 群联固态硬盘修复工具_固态硬盘有三大要素,那么你的固态硬盘买对了吗?
  17. 抖音开放平台开发记录
  18. python安装失败未指定_win7 64 位安装 python,提示: 0x80240017-未指定的错误
  19. uCOS-II 基础入门教程(九)
  20. linux路由配置秘籍,最新最全秘籍:如何提升路由器信号强度?

热门文章

  1. CKEditor、UEditor富文本编辑器原理(CSDN编辑器原理)
  2. 记录下关于qt使用windeployqt.exe打包程序之后运行报错无法定位程序输入点
  3. linux实验的试验环境,Linux基本环境_实验日志解析.docx
  4. 免费java版我的世界下载教程,我的世界java版下载,我的世界java版下载教程
  5. javascript技术教程蔡敏_JavaScript基础与实践教程 (王萍萍,赵俊莉,孙强) pdf扫描版...
  6. 贪吃蛇Python版 源码+代码分析
  7. python爬虫——爬取b站APP视频信息(通过fiddler抓包工具)
  8. 用C/C++编程技术教你制作彩票随机程序
  9. 微信小程序后端Java接口开发
  10. 【读书笔记《Android游戏编程之从零开始》】13.游戏开发基础(Paint 画笔)