Carsar加密算法在java中是最简单的加密算法,那么你知道要如何实现吗?下面我们就去看看JAVA如何实现caesar凯撒加密算法的内容。

public class Caesar {

public static final String SOURCE = "abcdefghijklmnopqrstuvwxyz";

public static final int LEN = SOURCE.length();

/**

* @param args

*/

public static void main(String[] args) {

String result = caesarEncryption("newyork");

System.out.println("encryption result:" + result);

System.out.println("decryption result:" + caesarDecryption(result));

}

//Encryption

public static String caesarEncryption(String s) {

StringBuilder sb = new StringBuilder();

if (s == null || s.length()

System.out.println("you Input nothing.");

return null;

}

if (!isAlp(s)) {

System.out.println("input ABC... only");

return null;

}

s = s.toLowerCase();

int len = s.length();

for (int j = 0; j

char c = s.charAt(j);

int a = SOURCE.indexOf(c);

if (a == LEN -1) a = -1;

if (a == LEN -2) a = -2;

if (a == LEN - 3) a = -3;

sb.append(SOURCE.charAt(a + 3));

}

return sb.toString();

}

//Decryption

public static String caesarDecryption(String s) {

StringBuilder sb = new StringBuilder();

if (s == null || s.length()

System.out.println("you Input nothing.");

return null;

}

if (!isAlp(s)) {

System.out.println("input ABC... only");

return null;

}

s = s.toLowerCase();

for (int i = 0; i

char c = s.charAt(i);

int a = SOURCE.indexOf(c);

if (a == 2) a = LEN + 2;

if (a == 1) a = LEN + 1;

if (a == 0) a = LEN;

sb.append(SOURCE.charAt(a - 3));

}

return sb.toString();

}

public static boolean isAlp(String s) {

String p = "^[A-Za-z]+$";

Pattern pattern = Pattern.compile(p);

Matcher matcher = pattern.matcher(s);

if (matcher.find()) {

return true;

}

return false;

}

}

以上内容就是小编介绍JAVA如何实现caesar凯撒加密算法的方法,是不是效果还不错呢,只要我们开动脑筋,就可以实现很多效果哦!

用java实现凯撒加密系统,JAVA如何实现caesar凯撒加密算法相关推荐

  1. 基于JAVA的网上订餐外卖系统(Java+MySQL)

    基于JAVA的网上订餐外卖系统(Java+MySQL)-编号:jsp0812 美食是人类永恒的话题,无论是在古代还是现代人们对美食都有一种非常的热爱在里面,但是随着时代的发展,人们可能没有更多的时间去 ...

  2. 【密码学】Java课设-文件加密系统(适用于任何文件)

    Java实现文件加密解密 前言 一.密码学入门 1.对称加密 2.非对称加密 二.程序代码 1.welcome类(欢迎界面) 2.Log类(登录界面) 3.Register类(注册界面) 4.Inde ...

  3. java 和 Android Base64加密,java开发面试笔试题

    我总结出了很多互联网公司的面试题及答案,并整理成了文档,以及各种学习的进阶学习资料,免费分享给大家. 扫描二维码或搜索下图红色VX号,加VX好友,拉你进[程序员面试学习交流群]免费领取.也欢迎各位一起 ...

  4. java 和 c md5加密_Java与C++实现同样的MD5加密算法

    1.Java版 package com.lyz.utils.common; import java.io.UnsupportedEncodingException; import java.secur ...

  5. [JAVA实战篇] AES加密的JAVA实现及AES算法讲解

    AES加密算法原理 1. S-P结构加密 AES加密算法是2001年由美国提出的互联网加密算法,从密码学的角度来讲,AES是典型的S-P结构加密.什么是S-P结构加密呢,手残博主画了一张图帮助大家理解 ...

  6. 凯撒加密的python语言程序_凯是什么意思 凯字五行属什么

    凯字取名属性及五行属什么: 凯字的拼音:kai 凯的繁体字:凱(若无繁体,则显示本字) 凯字的起名笔画数:12 凯五行属什么:木 凯字的取名数理吉凶:吉 凯是否为姓氏:是 说明:"凯&quo ...

  7. Java项目:优咪商城系统(java+SpringBoot+html+bootstrap+layui+maven+mysql)

    源码获取:博客首页 "资源" 里下载! 项目介绍 优咪网上购物体验系统 1. 该平台主要有两大功能: (1) 浏览平台官方和认证作者提供的篮球相关信息,信息类型包括:视频,新闻,评 ...

  8. Java项目:个人博客系统(java+SSM+Mysql+Servlet+JavaWeb)

    源码获取:博客首页 "资源" 里下载! 一.项目简述 项目内容包括:首页,登陆,新建文章,搜索,登陆日志,登录次数,评论统计,相关信息,文章列表等其他相关功能 另外:系统采用MVC ...

  9. Java项目:学生综合素质评价系统(java+SSM+thymeleaf+layui+Mysql)

    源码获取:俺的博客首页 "资源" 里下载! 项目介绍 基于SSM的学生综合素质评价系统设计与实现,系统共分三种角色,包括管理员.教师.学生: 管理员主要功能包括: 权限中心:用户组 ...

最新文章

  1. 博客入驻阿里“云栖社区”
  2. svn文件夹不显示绿色勾的解决方法
  3. 专业网络推广浅析单页面网站如何高效做SEO优化?
  4. WebClient DownloadFile 用法
  5. Java ArrayList的不同排序方法
  6. ie6 div height bug css注意点(转)
  7. java接口自动化测试的搭建_java接口自动化(一) - 接口自动化测试整体认知 - 开山篇(超详解)...
  8. python入门经典27版_【python】编程语言入门经典100例--27
  9. 《ArcGIS Runtime SDK for Android开发笔记》——(12)、自定义方式加载Bundle格式缓存数据...
  10. Python获取文件后缀名
  11. 打造高效前端工作环境 - tmux
  12. Linux shell命令提示符
  13. ASCII、Unicode和UTF_8的前生后世
  14. Qt 局域网聊天工具
  15. 自抗扰控制(ADRC)—— 扩展状态观测器
  16. 微信小程序 引用 weui 问题合集
  17. python 删除指定目录_删除Python中除一个子目录外的目录
  18. 阿里云 语音通知 语音验证码 收不到 白名单
  19. OpenCV-PS羽化操作
  20. wkhtmltopdf 中文参数详解

热门文章

  1. python设计计算器实验报告_Python实验-计算器
  2. 【WaterRemind】用Arduino与SSD1306做一款提醒喝水的杯垫(何同学同款)
  3. 一键生成的BI智能数据看板谁不爱?
  4. 如何使用 ChatGPT API 构建您自己的 AI 聊天机器人:分步教程
  5. [野火]STM32 F103 HAL库开发实战指南笔记之简单外设总结
  6. 读者写者问题浅析(代码实现)
  7. 机器学习入门(二)--CASIA-HWDB(tensorflow)微调efficientNetB0实现手写字体的识别
  8. 计算机应用技术专业介绍英文,计算机技术与应用专业英文简历模板
  9. android 日倒计时计算器,倒计时(倒数日在线计算)
  10. Tess4J 图片文字识别