网络安全--加密入门
1.加密起源,凯撒密码的原理和破解方式。
2.对称加密的原理和破解方式。
3.DEA和AES两种加密算法的加密原理和应用。
4.Base64编码在加密过程中的使用。
凯撒密码
古时候两军对垒为了防止敌方截获信息导致信息泄露,从而进行数据加密,就算敌军截获后无法解密就无法获取信息。
明文:就是原始信息。
密文:(经过加密算法混淆之后的信息)。
密匙:加密与解密算法的参数,直接影响对明文进行变换的结果。
加密算法:以密匙位参数,对明文进行多种置换和转换的规则和步骤,变换结果为密文。
解密算法:加密算法的逆转换,以密文为输入,密匙位参数,变换后的结果为明文。
public class CaesarDemo {
public static void main(String[] args) {
//1、明文:原始洗信息
String clearText = "我是傻狍子";
//加密规则:将字谜按照字母表的顺序向右移动3位
int key =3;
//2、密文:通过加密算法将明文混淆之后的信息
String cipher =encrypt(clearText,2);
System.out.print("加密后的内容:"+cipher);
//解密
String dncrypt = dncrypt(cipher,2);
System.out.print("解密后的内容:"+dncrypt);
}
/**
* 加密
* @param clearText 明文
* @param key 加密规则
* @return
*/
private static String encrypt(String clearText,int key) {
char[] charArray = clearText.toCharArray();
for (int i = 0; i < charArray.length; i++) {
//在ASCII码表 向右移动三位
//char c = (char) (charArray[i]+3);
//加密替换
//charArray[i]=c;
//将以上代码简化得:
charArray[i]+=3;
}
return new String(charArray);
}
/**
* 解密
* @param cipherText 密文
* @param key 解密规则
* @return
*/
private static String dncrypt(String cipherText, int key) {
char[] charArray = cipherText.toCharArray();
for (int i = 0; i < charArray.length; i++) {
charArray[i]-=3;
}
return new String(charArray);
}
}