java实现凯撒密码_凯撒密码--java实现关于凯撒密码的介绍我就不多说了,感兴趣的可以看什么是凯撒密码?,我主要说的是java如何实现。
我发现⽹上有写java加密解密的,写的时候发现只需要⼀个转换函数就可以了,可以作为加密⽤,也可以⽤作解密⽤。
我们要解密的字符串是R uxen hxd.
**
* 凯撒密码
*/
public class CaesarCipher {
public static void main(String[] args) {
//需要转换的字符串
String str = "R uxen hxd.";
java加密方式有哪些for (int i=0;i<26;i++){
System.out.println(i+" "+caesarSwitch(str,i));
}
}
/**
* 凯撒转换
* @param str 需要转换的字符串
* @param step 偏移量
* @return 转换后的字符串
*/
public static String caesarSwitch(String str, int step){
/
/字符串转数组
char[] chars = CharArray();
//计算右移的步数
step = step%26;
if(step<0){
step = step + 26;
}
//开始变换
for (int i=0;i
char c = chars[i];
//⼩写
if (c>='a'&&c<='z'){
c = (char) (c + step);
if (c>'z')
c -= 26;
}
//⼤写
if (c>='A'&&c<='Z'){
c = (char) (c + step);
if (c>'Z')
c -= 26;
}
/
/把转换后的字符再给原来数组chars[i] = c;
}
pyValueOf(chars); }
}
结果:
0 M pszi csy.
1 N qtaj dtz.
2 O rubk eua.
3 P svcl fvb.
4 Q twdm gwc.
5 R uxen hxd.
6 S vyfo iye.
7 T wzgp jzf.
8 U xahq kag.
9 V ybir lbh.
10 W zcjs mci.
11 X adkt ndj.
12 Y belu oek.
13 Z cfmv pfl.
14 A dgnw qgm.
15 B ehox rhn.
16 C fipy sio.
17 D gjqz tjp.
18 E hkra ukq.
19 F ilsb vlr.
20 G jmtc wms.
21 H knud xnt.
22 I love you.
23 J mpwf zpv.
24 K nqxg aqw.
25 L oryh brx.
经过穷举我们发现I love you.是有意义的字符串,原字符串R uxen hxd.是经过右移4步或左移动22步得到我们的加密字符串。此贴终结~
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论