凯撒密码
加密解密之凯撒密码
-
概述
-
术语
加密:encrpt
解密:decrpt
密钥:加密解密算法的参数,直接影响对明文进行变换的结果
暴力破解:穷举法,将所有可能性都列举出来
-
明文暗文
- 明文:原始信息
- 密文:经过加密算法混淆后的信息
-
凯撒密码介绍
-
凯撒密码作为一种最为古老的加密技术,在古罗马的时候已经很流行,它的基础思想是:通过把字母移动一定位置来实现加密和解密。明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文。例如当偏移量是3的时候,所有字母A将被替换成D,B变成E,由此可见,位数就是凯撒密码加密和解密的秘钥。
A B C D E F G H I J K L M N O P Q I S T U V W S Y Z
-
示例
字符串ABC的每个字符都右移3位变成DEF,解密的时候每个字符串左移3位即能还原。
-
public class TestMain { public static void main(String[] args) { //1.明文:原始信息 String clearText = "hello"; //加密规则:将字母按字母表的顺序向右移动3位 int key =3; String cipher =encrpt(clearText,key); System.out.println(cipher); //解密 String decrptText =decrpt(cipher,key); System.out.println(decrptText); } private static String encrpt(String clearText, int key) { char[] chars = clearText.toCharArray(); for (int i = 0; i < chars.length; i++) { char c = (char) (chars[i] + key); chars[i]=c; } return new String(chars); } private static String decrpt(String cipertext, int key) { char[] chars = cipertext.toCharArray(); for (int i = 0; i < chars.length; i++) { char c = (char) (chars[i] - key); chars[i]=c; } return new String(chars); } }
-
-
凯撒密码破解
-
如果我们知道一个密码是用凯撒密码加密的,可以使用暴力破解法来解密;凯撒密码的秘钥最多只有25种a(bz),key=125。使用暴力破解的前提是知道是凯撒密码,不知道的时候,可以用频率分析法。
-
频率分析法的介绍
任何一种语言字母出现的频率都有一定分布,比如英语出现最多是h
-
相关阅读
支付宝已经涉及到生活的方方面面,就连社保都可以用支付宝查询,相信大家都有查询过。最近小编听身边的朋友说:支付宝查社保点进去是账
卸载Symantec Endpoint Protection, 无需密码的卸载方
原文地址为:卸载Symantec Endpoint Protection, 无需密码的卸载方法 最近一次偶然的机会, 被人装了个Symantec在电脑上, 搞得各种
一、准备 1.首先需要安装好kali Linux 并设置好正常的管理网络。 2. 需要一张无线网卡,网卡芯片为3070,也可以选择 tl-wn722n v1 等
怎么开淘宝网店?当然要经过找货源、装修等一系列流程!而在这其中,宝贝发布对于新手卖家来说一直是一个老大难问题。怎么发布才算正
【黑客V信:10484866】专业破解微信密码,开房查询,通话记录查询,查询微信聊天记录,非常靠谱!现在微信已经成为了一个比较好的聊天