Encrypt&Decrypt
雷司仁
不定期学习,不定期温故,不定期写笔记。
展开
-
历史著名密码(凯撒密码、简单替换密码、Enigma)
凯撒密码公元前100多年凯撒发明的一种密码,简单来说是平移密码,也就是将字母位置向后移动一定位数。如原文是ABCDEFG,密钥为3,加密后就是DEFGHIJ。以密钥的数字向后平移了三位,如果密钥是5就是平移五位。凯撒密码最简单的破译方式为穷举法(暴力破解法),一共只有26个字母,平移25次并将平移后的字符串进行比较,就能取得最后的原文。简单替换密码简单替换密码是凯撒密码的升级版,将平移替换为无序对...原创 2018-02-27 14:52:51 · 24110 阅读 · 0 评论 -
Md5码的生成及变种Md5码的生成
新建一个方法生成Md5码,将给出参数字符串生成Md5码public String stringTo32Md5(String str) { String md5 = null; if (str != null && str.length() != 0) { try { MessageDigest md = MessageDigest.getInstance("MD...原创 2018-11-02 16:25:26 · 5619 阅读 · 0 评论 -
用异或来加密字符串
这个没什么好写的,就一个方法,放两个参数,第一个是要加密的字符串,后一个是异或的key,key只能为整数。public String enOrDecrypt(String str , int key) { char[] mwChar = str.toCharArray(); for(int i = 0;i < mwChar.length ; i++) { mwChar[i] =...原创 2018-11-02 16:29:28 · 2232 阅读 · 0 评论 -
学习笔记:RSA加解密公式及算法描述
首先,要了解3个问题:1、什么是“素数”? 素数是这样的整数,它除了能表示为它自己和1的乘积以外,不能表示为任何其它两个整数的乘积。例如,15=3*5,所以15不是素数;又如,12=6*2=4*3,所以12也不是素数。另一方面,13除了等于13*1以外,不能表示为其它任何两个整数的乘积,所以13是一个素数。素数也称为“质数”。2、什么是“互质数”(或“互素数”)? 小学数学教材对互...原创 2019-08-21 14:22:50 · 2916 阅读 · 0 评论