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

凯撒密码:

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


代码描述:

package com.atguigu;public class kaiserDemo {public static void main(String[] args) {//待加密的字符串String input = "I LOVE you";//向后位移位数int key = 3;String encrypted = encrypt(input, key);System.out.println(encrypted);String srcvalue = decrypt(encrypted,key);System.out.println(srcvalue);}/*** 凯撒密码解密操作* @param encrypted 输出值* @param key 密钥*/public static String decrypt(String encrypted, int key) {//对密文进行解密,生成字符数组char[] chars = encrypted.toCharArray();StringBuilder sh = new StringBuilder();for (char c : chars) {int value= c;//对输出值进行位移int newvalue = value - key ;char result  = (char) newvalue;sh.append(result);}return sh.toString();}/***凯撒密码加密* @param input 输入值* @param key 密钥*/public static String encrypt(String input, int key) {//把字符串转为字符数char[] chars = input.toCharArray();StringBuilder sh = new StringBuilder();//对输入值进行位移for (char c : chars) {int asciiCode = c;asciiCode = asciiCode + key;char newchar =(char)asciiCode;sh.append(newchar);}return sh.toString();//System.out.println(sh.toString());存在两种方法}
}

解决方案:

希望对大家有帮助!!!

凯撒密码加密解密——Java代码(密码学)相关推荐

  1. 凯撒密码加密解密C语言详细代码

    凯撒密码加密解密C语言详细代码 凯撒密码 又叫循环移位密码.它的加密方法,就是将明文中的每个字母用此字符在字母表中后面第k个字母替代.它的加密过程可以表示为下面的函数: E(m)=(m+k) mod ...

  2. C++凯撒密码加密解密算法

    一.算法描述 凯撒密码的加密解密算法,逻辑很简单,就是两个公式: 比如说下面这个例子的加密解密公式,就是位移量为3时的结果 加密公式 f(a)=(a+3) mod 26 解密公式 f(a)=(a+23 ...

  3. Python编程:实现凯撒密码加密解密

    凯撒密码 原理: 通过把字母移动一定的位数来实现加解密 明文中的所有字母从字母表向后(或向前)按照一个固定步长进行偏移后被替换成密文. 例如: 当步长为3时,A被替换成D,B被替换成E,依此类推,X替 ...

  4. 2.凯撒密码加密解密(C)

    明文空间M.密文空间C都是和密钥空间K满足,M=C=K={0,1,2,-,25}=Z_26 ,即把26个英文字母与整数0,1,2,-,25一一对应. 加密变换,E={E:Z26→Z26, Ek (m) ...

  5. Matlab凯撒密码加密解密

    Pratice problem: Bob wants to send the message "Start sending messages at 8:30" to Alice i ...

  6. C++实现古典密码-凯撒密码加密解密算法

    文章目录 第一部分 Caesar密码简介 1.1 基本思想 1.2 历史沿革 第二部分 Caesar密码的C++实现 第一部分 Caesar密码简介 1.1 基本思想 在密码学中,恺撒密码(英语:Ca ...

  7. Java版 凯撒密码 加密、解密、暴力破解

    Java版 凯撒密码 加密.解密.暴力破解 用Java实现凯撒密码的 '加密' 和 '解密' 工作 代码实现如下: 代码片 package com.hellow.demo;import java.ut ...

  8. python凯撒密码加密写入文件_Python用户名密码登录系统(MD5加密并存入文件,三次输入错误将被锁定)及对字符串进行凯撒密码加解密操作...

    #-*- coding: gb2312 -*-#用户名密码登录系统(MD5加密并存入文件)及对字符串进行凯撒密码加解密操作#作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/k ...

  9. 5.3使用凯撒密码加密和解密英文文件python

    1本关任务:使用凯撒密码加密和解密英文文件.具体要求如下: (1)接收一个字符串为参数,如果参数值为加密,要求用户输入一个要加密的文件名,再输入一个单词做为密钥发生器,用于计算偏移量,对文件中的内容进 ...

最新文章

  1. 洛谷P3159 [CQOI2012]交换棋子
  2. html 自动跳转5秒,html 实现5秒倒计时跳转首页
  3. jquery中siblings方法配合什么方法一起使用
  4. vfp程序改错 计算机和英语,vfp程序改错教案.doc
  5. 平面/UI设计师社区交流网站集设|给你的作品多一个展示机会
  6. 并查集图冲突hdu1272
  7. Windows Phone 数据库并行访问【转】
  8. 计算出 3 至 1000 范围内最大的十个素数,放入数组中,并计算出其累加和。
  9. POJ 3009 Curling 2.0【带回溯DFS】
  10. [JNI] 开发基础(6)字符串相关操作
  11. 计算机二级wpsoffice知识点,2017全国计算机等级考试一级WPS office考试大纲
  12. 转载:wps怎么制作半圆形时间轴? wps彩色时间轴的制作方法
  13. python随机猜数字游戏_python,random随机数,简单的python猜数字游戏
  14. PEEKABOO——测试随笔
  15. 标贝科技|AI企业级应用榜单发布,百度、讯飞、标贝科技等50家产品上榜
  16. 为什么说大数据就业前景一片光明?
  17. 使用HBuilder制作一个简单的HTML5动漫网页——小林家的龙女仆 HTML+CSS学生个人网页制作 学生静态HTML网页源码 dreamweaver网页作业 简单网页课程成品
  18. 开始topcoder
  19. Pytorch基础入门
  20. Python-print 函数之换行

热门文章

  1. 【docker-compose】一键部署WordPress博客
  2. 怎样和脾气急躁的人相处?
  3. 六、用 Actix-web 构建异步 web工程
  4. 6-斯坦福大学自然语言处理第四课“语言模型(Language Modeling)
  5. 通过adb查看当前连接的设备的CPU
  6. 全国计算机二级考试通过标准,计算机二级考试多少分及格可以拿证
  7. 优秀是一种习惯,习惯却是来自于思维的境界
  8. Android Drawable Resource学习(五)、StateListDrawable
  9. ZZULI-1184 平面点排序(二)(结构体专题)
  10. 手机wifi延迟测试软件,如何测试无线投屏延时值?同屏延时怎么测? 四画面延时多少?同屏延时 传屏器延时 电脑投屏...