加密的三种方式(摘要加密、对称加密、非对称加密)

摘要加密

md5,sha1,sha256(固定算法加密)

摘要主要就是哈希值,通过我们的散列的算法。摘要的概念主要是验证完整性和唯一性,不管我们的密码是多长啊,或者多复杂的啊,得到的值都是固定长度。

摘要加密有一定的风险。

比如:123456 用 md5 加密,得到的密码其实是固定的,大家用 md5 加密123456得到的加密密码都是一样的。

大家也可以到一些网站有反解密。通过md5加密的密文,是不能通过反解密解密出来。但是网站会收集原密码 加密后的密文,保存起来,当这个数据库比较大的时候,可以通过得到的密文进行撞库,只要数据库足够大,就有可能破解出原密码

md5bysalt,加盐?是做饭吗?

摘要算法比如 md5,光加密 123456,结果都是一样的,如果是破解的库里正好有这个 md5 就很容易知道逆向是 123456。来一手加盐。盐是随机的字符串,他来与原密码进行一波二次加密。这样获取到的很难破解出来。

对称加密

我们约定了一个密钥。这个密钥一定要好好保存,不能泄漏,一旦泄漏就可以进行逆向的解密了。

加密的过程:密码+密钥 生成

解密的过程:密文+密钥 反解

密钥一定一定要做好其中的保存。

常见的对称加密的算法:AES,DES,3DESC,SM4

比如:设置密文private String key = "55151331"

(1)用户注册时,通过调用第三方库的对称加密方式即可将原密码(也叫明文)进行加密,将密文保存到数据库中

(2)当用户登录时,根据用户输入的原密码 再加密, 和数据库比对,就可以判断密码正确不

(3)对数据库的密文,进行解密的方式(密文:数据库中的密码+密钥:设置的key)

非对称加密

非对称加密需要两个密钥:公钥 (publickey) 和私钥 (privatekey)。公钥和私钥是一对,如果用公钥对数据加密,那么只能用对应的私钥解密。如果用私钥对数据加密,只能用对应的公钥进行解密。因为加密和解密用的是不同的密钥,所以称为非对称加密。

一个公钥,一个私钥,然后用法有两种:

(1)公钥去加密,私钥去解密。(一般采用这种)

(2)私钥去加密,公钥去解密。

常见的算法:RSA,ECC,国密的 SM2

算法的性能上差一点,加密的数量没有对称加密快。

比如:A和B数据交换时,A和B双方都要分别产生一对公钥和私钥


比如:注册和登录校验时,只需产生一对公钥和私钥

要提前通过第三方库的方法 生成一对 公钥 和 私钥 ,有了之后保存起来

(1)用户注册时,将原密码(也叫明文)通过公钥,进行加密,将密文保存到数据库中。保存到数据库中密码的是通过公钥进行加密的,别人盗取数据库后,是没有的私钥的,无法破解个人信息

(2)用户登录时,仍然使用原密码登录,后端通过公钥,进行加密,和数据库比对,就可以判断密码正确不

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

#学习的路上

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值