【发布时间】:2021-02-05 17:19:02
【问题描述】:
我正在做一个项目,我将从用户那里收到一些个人信息(最重要的是电话号码)。我一直在研究客户端加密和服务器端加密,但无法决定哪个更合适。
目前,数据库表包括两列:第 1 列存储加密的电话号码(使用非对称 RSA 加密),第 2 列存储最后四位数字的哈希值。
我尝试这样做的原因是:1)我正在尝试创建一个管理页面,我可以在其中查看电话号码(因此我不能只散列电话号码)和 2)用户将使用他们电话号码的最后四位数字进行验证(因此,将最后四位数字与加密的完整电话号码进行比较会非常复杂)。
这是我用来实现非对称 RSA 加密的代码。根据我的理解,这种加密被认为是服务器端加密。如果我想使用客户端加密,我应该如何实现它?请帮忙!
【问题讨论】:
-
使用 HTTPS。您自己编写的任何加密方案都容易出现未知错误。另一方面,Chrome、Edge 和 Safari 使用的 HTTPS 库每天被数十亿人使用,并且众所周知,目前没有重大错误。发现的任何错误都将被视为科技界的重大新闻,并导致谷歌/苹果/微软等公司迅速发布补丁。
标签: javascript node.js encryption server-side client-side