密码学是专门研究信息加密和密文破解的学科,里面也包含了非常多的加解密算法,本节课程来介绍一下,Web中常出现的一些加密算法。1.加密算法分类加密算法分类加密算法有很多中,同样也分类。不需要密钥【加密时不需要密钥的散列算法,解密麻烦甚至无解】MD5SHA-1需要密钥【加密、解密都需要密钥】对称加密【加解密用同一个密钥】DES3DESAES非对称加密【两个密钥,公钥解密可以通过私钥解密】RSADSA2.UrlEncode编码编码第一个UrlEncode,这个其实不能算一个加密,只能算一个编码。为什么把它单独提出来呢?是因为这个东西,存储中文时,都是存储的百分号编码。而且网页上用的非常多的,就是网址编码,这个编码的出现,就是为了方便,将网址的信息编码成统一的字符格式。因为是统一的编码,所以中文会被换成含%号的URL编码,这一点也是难住新手的常见问题。但是新手不必慌,这不是加密,只是编码,轻松逆向转中文,简单。3.MD5算法算法MD5用的是哈希函数,是对一段信息产生摘要信息,以防止被篡改。严格意义上来讲,MD5是摘要算法而不是加密算法,无论多长的输入,都会输出长度为128bit的字符串。示例:明文:123456789密文:32位MD5:25f9e794323b453885f5181f1b624d0b16位MD5:323b453885f5181f4.AES/DES/3DES算法介绍算法介绍AES、DES、3DES算法都是对称的加密算法,加解密的过程是可以相互转换的。对称的加密算法,即加解密使用的同一个密钥,用密钥加密,用密钥解密,一个钥匙就够了。AES加密算法是密码学中的高级标准,该加密算法采用对称分组密码体制,密钥长度的最少支持为128位、192位、256位,分组长度128位。示例:明文:123456789密文:U2FsdGVkX1+3gbGpmOg4mwKmPdK3hvsK0q+/PX9TqFQ=DES加密算法是一种分组密码,以64位为分组对数据加密,它的密钥长度是56位,加密解密用同一算法。DES加密算法是对密钥进行保密,而公开算法,包括加密和解密算法。这样,只有掌握了和发送方相同密钥的人才能解读由DES加密算法加密的密文数据。因此,破译DES加密算法实际上就是搜索密钥的编码。对于56位长度的密钥来说,如果用穷举法来进行搜索的话,其运算次数为2^56次。示例:明文:123456789密文:U2FsdGVkX19Zv+7t4NOCQ0tc+G37jT84nq6uF9pRG/c=3DES是基于DES的对称算法,对一块数据用三个不同的密钥进行三次加密,强度更高三次加密,强度更高。示例:明文:123456789密文:oGiej8K4pX0efQdeGFjDbw==5.RSA算法介绍算法介绍RSA非对称加密算法是目前非常...