加密算法是编程语言中非常常见的一个应用,比如用户在进行密码设置的时候,绝大多数情况加,程序员都会采用加密的形式进行密码存储(为什么说是绝大多数呢,facebook曾曝出明文密码存储的问题),那加密到底是怎么回事呢?
先列举出生活中的一些加密的例子,最常见的加密其实就是语言加密,什么叫做语言加密呢?
通俗的解释就是我们平时所说的话,比如英语、我们国家各地区的方言,我们都可以把它们理解成是一种加密。当我们在学习这门语言的时候,也就是解密的过程,当我们完全掌握了这门语言,也就掌握了它的破解方式。
比如我们在学习英语,那么其实就是要掌握各种解密的方式。这种理解方式相信大家都能够明白。
发送信息之前加密,接收到信息首先解密
在代码中我们也同样是使用某一种规则来进行加密,比如常见的md5等。
下面我们使用凯撒密码来进行一段话的加密演示。
加密的步骤都是首先需要制定一个加密规则,下面则是我们制定的加密规则
左侧为原始字符,右侧为加密后的字符
这里我们采用每一个字母都向后移动13个字母的形式来进行加密或者是解密。其中还有一个细节,字母A加密为字母N,字母N同样能够加密成字母A。也就是说加密和解密两个方向上是完全相同的,也就是说我们可以采用相同的秘钥值来进行加密和解密,这个秘钥值就是13。为什么说是13呢?英文一共包含26个字母,这个13就意味着我们要将每一个字母都向后挪13