毕设日记(二)

毕设日记(二)

既然题目是疫情大数据的可视化,所以必须跟图表有关系,下面是一个初品
毕设日记(二)_第1张图片

MD5加密算法和salt盐值加密

什么是MD5加密

MD5信息摘要算法(英语:MD5 Message-Digest Algorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。

特点

  1. 不可逆,也就是说其本身上不能由密文推出明文,

  2. 但是,如果明文比较简单常见,还是存在泄露风险,例如先生成好简单明文的密文,然后使用穷举法进行破解;

  3. 对于同一个明文,无论加密多少次其密文都是一样的;
    生成的结果始终是一个16进制的32位字符串。

作用

  1. 数字签名(校验和)

  2. 例如对于一份文件,为了保证网络传输当中不发生改变,我提前对其用md5加密算法进行加密,得到一段密文。我将这份文件和密文分别发给你。你在收到文件后也对其使用md5加密一次,得到一个密文。这时,你就可以比较两个密文是否一致,如果一致,则文件没有被篡改,反之,文件已经被篡改。

  3. 加密
    垃圾邮件筛选
    原理和作用1一样

salt盐值加密策略

在上面的介绍md5加密算法时我们讲到,虽然MD5算法本身不可逆,但是如果用户采用简单的字符串作为密码的话,仍然有被暴力破解的风险。因此,为了解决这个问题,我们需要在对密码加密之前使其变得复杂化。
而加盐就是其中的一种方式。所谓的加盐就是在原密码的基础上,加上一段随机字符串。然后再加密。
当然,如果盐值随着密码一起被泄露出去,也是存在着密码被破解的风险的,我们只能做到相对安全。
为了增加破解难度,可以在加盐时采取一定的策略,例如哈希加盐、加密后多次哈希。
当然,这要在安全跟性能直接做个平衡

我的加密方式

所以我的加密方式就是,将明文先加盐再散列1024次,作为密文,再将该密文作为jwt的签名算法

你可能感兴趣的:(大学课程,前端,java)