Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用Web Crypto API(或类似的东西)来存储能够';你不容易转移吗?_Javascript_Cryptoapi - Fatal编程技术网

Javascript 如何使用Web Crypto API(或类似的东西)来存储能够';你不容易转移吗?

Javascript 如何使用Web Crypto API(或类似的东西)来存储能够';你不容易转移吗?,javascript,cryptoapi,Javascript,Cryptoapi,我的要求是在客户端的web浏览器上存储UUID,以识别用户的机器(本例中为web浏览器副本)。比方说,如果IT人员来修理人力资源经理的笔记本电脑,他们可以很容易地查看保存在web浏览器中的用户名/密码,然后在他的电脑上使用该凭证。我的想法是简单地将UUID保存在web浏览器的本地存储中,并将其发送到后端服务器进行验证。如果用户名、密码或UUID不匹配,请拒绝访问。问题在于,IT人员可以轻松查看和重新创建本地存储 继谷歌之后,我相信WebCrytoAPI是一条出路。它可以用extracable=f

我的要求是在客户端的web浏览器上存储UUID,以识别用户的机器(本例中为web浏览器副本)。比方说,如果IT人员来修理人力资源经理的笔记本电脑,他们可以很容易地查看保存在web浏览器中的用户名/密码,然后在他的电脑上使用该凭证。我的想法是简单地将UUID保存在web浏览器的本地存储中,并将其发送到后端服务器进行验证。如果用户名、密码或UUID不匹配,请拒绝访问。问题在于,IT人员可以轻松查看和重新创建本地存储

继谷歌之后,我相信WebCrytoAPI是一条出路。它可以用extracable=false将加密对象存储在IndexedDB中,但我希望可以通过JavaScript读取。不幸的是,大多数在线文章都在谈论加密/解密数据,这对我来说太多了。我只想存储不能轻松传输到另一台机器的数据,但可以用JavaScript读取。就是这样

有人能提供示例代码或博客文章来实现这一点吗?多谢各位

PS 1)我知道网络浏览器指纹的概念,但这不是一个解决方案,因为指纹值不断变化


PS 2)我在生产环境中的JavaScript将被我自己的算法弄糊涂和/或被网页打包和/或弄糊涂。是的,webapp开发者可以将其还原,但我认为组织中的大多数用户都无法还原。

他们可以轻松查看保存在web浏览器中的用户名/密码
,这就是为什么您不在浏览器中的任何位置存储敏感信息的原因。曾经不在本地存储中,不在Cookie中,也不在任何地方。这也是为什么您应该始终单击“注销”,以使您的令牌或挂在浏览器中的任何内容无效。您应该使用适当的身份验证机制,如JWT或Cookie。如果您的公司正在使用o365,您可以使用基本身份验证(win-auth)挑战以生成令牌。但是你也可以使用像Firebase这样的东西。嗨,是的,现在我用的是JWT,它工作得很好。但大多数用户喜欢将凭证保存在web浏览器中以方便使用。作为一名软件开发人员,我认为可能有一个很好的方法来解决这个问题,同时系统仍然对用户友好(在这种情况下,允许他们在web浏览器中保存凭据)。请回到问题上来,web Crypto API能够做到这一点吗?或者推荐其他技术?