对RSA加密的理解
发布日期:2021-06-28 22:17:37 浏览次数:2 分类:技术文章

本文共 895 字,大约阅读时间需要 2 分钟。

背景:最近在看唐巧的书<<IOS进阶>>有一段谈到RSA加密算法的

黑客在咖啡馆或机场等一些公共场所,用自己的电脑设置一个与该场所名字相同的免费 WiFi,那么受害者只要不小心使用了该 WiFi,就可能泄漏自己的明文密码。大多数普通人, 都会使用一样的密码登录他的所有的账号,这就意味着他的其他账号,例如淘宝或网上银 行账号也有被盗的风险。

正确的做法应该是这样:事先生成一对用于加密的公私钥,客户端在登录时,使用公钥将用 户的密码加密后,将密文传输到服务器。服务器使用私钥将密码解密,然后加盐 (Salt:在密 码学中,是指通过在密码任意固定位置插入特定的字符串,让散列后的结果和使用原始密 码的散列结果不相符) 之后再多次求 MD5,之后再和服务器原来存储的用同样方法处理过的 密码匹配,如果一致,则登录成功。这样,黑客即使截获了加密后的密文,由于没有私钥, 也无法还原出原始的密码。而服务器即使被黑客攻陷,黑客除了暴力尝试,也无法从加盐和 多次 MD5 后的密码中还原出原始的密码。这样就保证了用户密码的安全。

联想到之前自己接如渠道SDK时也有用到公钥私钥的,于是就找了一下相关资料,加深一下理解。

http://www.ruanyifeng.com/blog/2013/06/rsa_algorithm_part_one.html

https://www.zhihu.com/question/25912483

https://www.youtube.com/watch?v=wXB-V_Keiu8

借用知友的理解:

A要发消息给B

B有一个盒子(公钥)一把锁(私钥)

A拿到盒子放消息进去,上锁。

快递给B,只有B能打开盒子。

即使中途被劫也无法打开盒子。

实际应用:

RSA和AES结合使用, 用AES密钥对明文进行加密,但是AES的密钥容易泄露,所以,用RSA的私钥对AES的密钥加密,即对明文进行一次加密,再对密钥加密.前几天才上传一个加密的代码 

AES加密参考:

http://blog.csdn.net/yhhwatl/article/details/52523739

转载地址:https://blog.csdn.net/yhhwatl/article/details/52523377 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:JAVA实现AES加密
下一篇:H5游戏项目开发总结

发表评论

最新留言

哈哈,博客排版真的漂亮呢~
[***.90.31.176]2024年04月20日 01时10分58秒