0 杂项知识

文章目录

  • 加密算法
    • 对称加密
    • 非对称加密
    • 散列加密
      • sha-512 与 md5 算法的对比

加密算法

参照:链接

一般将加密算法分为三种:对称加密,非对称加密,散列加密

对称加密

对称加密就是只存在一把钥匙,这把钥匙可以用来加密文件,也可以用来解密文件
0 杂项知识_第1张图片
(个人理解)常用于需要经常性沟通的加密,即给出钥匙的对方与己方需要有经常性的沟通。

非对称加密

非对称加密就是存在两把钥匙,一把使公钥,一把使密钥。公钥一般将其颁布出去,密钥自己存储住,用于解密别人传过来使用你公钥加密后的消息,举个例子:rsa算法(linux下ssh登录 使用的就是rsa算法,实际流程就是,你在ssh访问一个ip的时候,会将你的登录账号,密码等信息使用对方的公钥进行相关的加密,当然这边你需要判断好这个ip是否值得信任,这也就是我们首次登录某个ip的时候,会有的yes判断,避免访问黑客的ip,黑客使用自己的私钥了解到你的账号密码之类的东西。)

在这里插入图片描述

散列加密

散列加密没有钥匙,他是一种不可逆的过程(别问实现过程,就是不可逆的过程),(举个秒传的例子)具体的使用就是,我们会先将所有用户的文件上传到某一个文件夹下并计算对应的散列加密的值(比如md5值,将这些值存储到数据库当中),然后当用户上传某个文件的时候,我们先让对方传过来对应文件的md5值,然后判断数据库当中是否存在,如果存在就直接做==硬链接(匹配相同的 inode值)==到对方的文件夹下即可,避免重复上传,也可节约服务器的空间。

还有一个常用的地方,现在很多网站的登录账号密码采用的也都是sha-512算法进行加密后存储对应的值到数据库当中,当有人登录的时候,就将登录的信息进行sha-512算法进行加密后比对数据库当中的信息,如果一致即认证成功。

sha-512 与 md5 算法的对比

md5的计算更快,现阶段已经不太安全,但胜在计算速度快。
sha-512 加入了盐值salt,也就是头部加上了一个“$ 一堆字符串 $”,然后这个字符串是“随机生成”的,所以具有更大的安全性,博主了解的也比较浅薄,具体可以见:链接

你可能感兴趣的:(个人python流程学习,python)