用java实现凯撒加密系统,JAVA如何实现caesar凯撒加密算法
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凯撒加密算法相关推荐
- 基于JAVA的网上订餐外卖系统(Java+MySQL)
基于JAVA的网上订餐外卖系统(Java+MySQL)-编号:jsp0812 美食是人类永恒的话题,无论是在古代还是现代人们对美食都有一种非常的热爱在里面,但是随着时代的发展,人们可能没有更多的时间去 ...
- 【密码学】Java课设-文件加密系统(适用于任何文件)
Java实现文件加密解密 前言 一.密码学入门 1.对称加密 2.非对称加密 二.程序代码 1.welcome类(欢迎界面) 2.Log类(登录界面) 3.Register类(注册界面) 4.Inde ...
- java 和 Android Base64加密,java开发面试笔试题
我总结出了很多互联网公司的面试题及答案,并整理成了文档,以及各种学习的进阶学习资料,免费分享给大家. 扫描二维码或搜索下图红色VX号,加VX好友,拉你进[程序员面试学习交流群]免费领取.也欢迎各位一起 ...
- java 和 c md5加密_Java与C++实现同样的MD5加密算法
1.Java版 package com.lyz.utils.common; import java.io.UnsupportedEncodingException; import java.secur ...
- [JAVA实战篇] AES加密的JAVA实现及AES算法讲解
AES加密算法原理 1. S-P结构加密 AES加密算法是2001年由美国提出的互联网加密算法,从密码学的角度来讲,AES是典型的S-P结构加密.什么是S-P结构加密呢,手残博主画了一张图帮助大家理解 ...
- 凯撒加密的python语言程序_凯是什么意思 凯字五行属什么
凯字取名属性及五行属什么: 凯字的拼音:kai 凯的繁体字:凱(若无繁体,则显示本字) 凯字的起名笔画数:12 凯五行属什么:木 凯字的取名数理吉凶:吉 凯是否为姓氏:是 说明:"凯&quo ...
- Java项目:优咪商城系统(java+SpringBoot+html+bootstrap+layui+maven+mysql)
源码获取:博客首页 "资源" 里下载! 项目介绍 优咪网上购物体验系统 1. 该平台主要有两大功能: (1) 浏览平台官方和认证作者提供的篮球相关信息,信息类型包括:视频,新闻,评 ...
- Java项目:个人博客系统(java+SSM+Mysql+Servlet+JavaWeb)
源码获取:博客首页 "资源" 里下载! 一.项目简述 项目内容包括:首页,登陆,新建文章,搜索,登陆日志,登录次数,评论统计,相关信息,文章列表等其他相关功能 另外:系统采用MVC ...
- Java项目:学生综合素质评价系统(java+SSM+thymeleaf+layui+Mysql)
源码获取:俺的博客首页 "资源" 里下载! 项目介绍 基于SSM的学生综合素质评价系统设计与实现,系统共分三种角色,包括管理员.教师.学生: 管理员主要功能包括: 权限中心:用户组 ...
最新文章
- 博客入驻阿里“云栖社区”
- svn文件夹不显示绿色勾的解决方法
- 专业网络推广浅析单页面网站如何高效做SEO优化?
- WebClient DownloadFile 用法
- Java ArrayList的不同排序方法
- ie6 div height bug css注意点(转)
- java接口自动化测试的搭建_java接口自动化(一) - 接口自动化测试整体认知 - 开山篇(超详解)...
- python入门经典27版_【python】编程语言入门经典100例--27
- 《ArcGIS Runtime SDK for Android开发笔记》——(12)、自定义方式加载Bundle格式缓存数据...
- Python获取文件后缀名
- 打造高效前端工作环境 - tmux
- Linux shell命令提示符
- ASCII、Unicode和UTF_8的前生后世
- Qt 局域网聊天工具
- 自抗扰控制(ADRC)—— 扩展状态观测器
- 微信小程序 引用 weui 问题合集
- python 删除指定目录_删除Python中除一个子目录外的目录
- 阿里云 语音通知 语音验证码 收不到 白名单
- OpenCV-PS羽化操作
- wkhtmltopdf 中文参数详解
热门文章
- python设计计算器实验报告_Python实验-计算器
- 【WaterRemind】用Arduino与SSD1306做一款提醒喝水的杯垫(何同学同款)
- 一键生成的BI智能数据看板谁不爱?
- 如何使用 ChatGPT API 构建您自己的 AI 聊天机器人:分步教程
- [野火]STM32 F103 HAL库开发实战指南笔记之简单外设总结
- 读者写者问题浅析(代码实现)
- 机器学习入门(二)--CASIA-HWDB(tensorflow)微调efficientNetB0实现手写字体的识别
- 计算机应用技术专业介绍英文,计算机技术与应用专业英文简历模板
- android 日倒计时计算器,倒计时(倒数日在线计算)
- Tess4J 图片文字识别