Javascript 客户端加密和解密与服务器集成,如何实现?

Javascript 客户端加密和解密与服务器集成,如何实现?,javascript,security,encryption,local-storage,client-side,Javascript,Security,Encryption,Local Storage,Client Side,我们的要求是将客户端上的一些数据作为本地存储的一部分进行持久化,因为我们还需要脱机访问应用程序,但出于某些原因,我们希望对其中一些文件进行加密,但加密和解密不应完全在客户端进行,因为客户端也无法访问这些文件(安全威胁),如果依赖于服务器端,则脱机访问将出现问题 简而言之,我想要一个可以离线访问的应用程序。使用一些加密文件(存储在客户端)和该加密方法(以及文件)也必须真正安全 我不知道如何克服这个问题(我也不知道加密和解密及其算法)。 关于如何解决这个问题的任何建议???请看@nrathaus我对

我们的要求是将客户端上的一些数据作为本地存储的一部分进行持久化,因为我们还需要脱机访问应用程序,但出于某些原因,我们希望对其中一些文件进行加密,但加密和解密不应完全在客户端进行,因为客户端也无法访问这些文件(安全威胁),如果依赖于服务器端,则脱机访问将出现问题

简而言之,我想要一个可以离线访问的应用程序。使用一些加密文件(存储在客户端)和该加密方法(以及文件)也必须真正安全

我不知道如何克服这个问题(我也不知道加密和解密及其算法)。
关于如何解决这个问题的任何建议???

请看@nrathaus我对您提供的链接有了一些想法,但他们仍然在努力解决这个问题,即在哪里存储密钥,因为您无法将密钥存储在客户端并将其存储在服务器上,这将不符合我的目的。当您说“因为客户端也无法访问密钥(安全威胁)”“袭击者是谁?如果您的意思是您的用户就是攻击者,则此问题没有解决方案。你只能混淆。应用程序无法保护自己免受用户的攻击(如果可以,则DRM将始终非常有效)。如果您正在保护用户免受实际攻击者的攻击,则上述链接将非常有用。密钥将由用户提供一些秘密(例如他们的密码)生成。这不是一个可解决的问题。一旦向用户发送数据以及读取该数据的代码,就不能阻止用户访问该数据。您所能做的最好的事情是混淆数据,但如果您发送的数据是其他用户的敏感信息,则这不太可能是足够的。(也就是说,如果你发送的是其他用户的敏感信息,那么你已经有麻烦了;即使你在线,也无法保证安全。)