利用现代浏览器的API轻松实现非对称加密
- IT
- 2024-03-16
- 109热度
- 1评论
非对称加密才是在互联网上传递敏感信息的科学方法,只是需要付出一点点的学习成本。
基本原理是,当A要发送加密信息给B时,需要B首先生成一对密钥:公钥和私钥。
公钥可以光明正大地发给A,私钥则妥善保存在本地,不能告诉(发送给)任何人。A收到B的公钥后,用B的公钥对信息进行加密。加密后的信息,可以光明正大地发给B。这个加密信息,只有B的私钥可以解开。
由于互联网上传递的只有B的公钥和加密后的信息,第三方监控者即使都拿到了,但由于不掌握B的私钥,也就无法解密。
简而言之,加密用一个密钥,解密用另一个密钥,这两个密钥是一对。这就是非对称加密。
已本地化部署到:https://blog.lucyqin.cn/rsa。这是一个HTML+JS+CSS的纯静态页面,调用了浏览器内置的Web Crypto API,采用的是RSA算法,默认为2048位,可以在encryption-helper.js中修改modulusLength参数为1024、2048、3072、4096位中的一种。
支持加解密纯文本,也支持直接加解密文件。
为了最大程度让使用者易于理解,对页面进行了汉化,并增加了必要的提示。
[…] 我们经常为发文件发愁:要么文件太大,微信、QQ邮箱超大附件经常放不下;要么文件特别私密,用第三方IM软件发送总是不放心。我之前的blog曾经提过两种解决方案:一是阅后即焚的对称密码传递方案,但是操作起来稍显繁琐;二是用RSA非对称加密,使用者理解起来有一定的门槛。而且两者都只能解决隐私问题,不能解决大文件问题。 […]