Encryption 使用多个密钥加密传输到服务器和服务器上的文件

Encryption 使用多个密钥加密传输到服务器和服务器上的文件,encryption,Encryption,我目前正在制作一个在线桌面,我将宣传的一个产品是,在线桌面上的数据是用你的密码加密的,而不是用我们的密钥加密的。因此,我不想用数据库检查密码,然后用我们的密钥解密数据,而是希望每个客户的数据都用他们的密码加密。然后服务器将尝试使用密码解密数据。如果解密成功,数据将被发送到客户端,供JavaScript或其他语言组织和显示。否则,将发回失败的密码尝试。我还想通过让服务器无法记录密码或以任何方式查看密码,完全摆脱与密码的关系,因此您的安全是在您的手中,而不是我们的手中 我的问题是什么样的语言最适合这

我目前正在制作一个在线桌面,我将宣传的一个产品是,在线桌面上的数据是用你的密码加密的,而不是用我们的密钥加密的。因此,我不想用数据库检查密码,然后用我们的密钥解密数据,而是希望每个客户的数据都用他们的密码加密。然后服务器将尝试使用密码解密数据。如果解密成功,数据将被发送到客户端,供JavaScript或其他语言组织和显示。否则,将发回失败的密码尝试。我还想通过让服务器无法记录密码或以任何方式查看密码,完全摆脱与密码的关系,因此您的安全是在您的手中,而不是我们的手中

我的问题是什么样的语言最适合这样做,以及这样做的正确方法和功能。一旦我掌握了这些信息,我将学习这种语言,以及实现这一点的方法和功能

我不太担心快速发布招聘一名开发人员作为rite现在这是一个我向自己挑战的项目,而且这样做是为了好玩


提前谢谢

你可以使用任何语言。此外,你的要求也有问题。如果要将服务器从等式中去掉,则服务器上不能进行任何解密。所有解密必须在客户端上进行。您当然可以在服务器上存储密文。@ArtjomB同意,这立即排除了JavaScript作为客户端语言的可能性。@LukePark JavaScript(在浏览器中)仍然是可能的。它可以打包为浏览器扩展。它甚至可以从服务器交付。在后一种情况下,服务器开发人员可能会向交付的JavaScript添加后门,但这对于所有软件来说都是一个问题,因为我们现在通常都有自动更新机制。例如,WhatsApp现在声称端到端安全,但是什么阻碍了他们推出新版本的应用程序,将对称密钥发送回WhatsApp服务器,而不是潜在的声誉损失?@ArtjomB。可能,但不推荐。它通常认为在浏览器JavaScript中实现密码的任何部分都是一个糟糕的想法,纯粹是因为脚本本身必须在执行之前必须交付给客户端。浏览器扩展当然可以,但没有自尊的开发人员会这样做,这只是对最终用户的阻碍。