安全的Javascript加密库?

2023-12-22

我正在搜索一个提供安全加密的 JavaScript 库。客户端必须生成密钥,所有上传到服务器的数据都被加密,所有下载的数据都被解密。我需要一个经过身份验证的加密方案,仅 CTR 或 CBC 是不够的。

我听说过 sjcl,但似乎 sjcl 只能一次加密整个数据。我没有找到按块加密数据的方法。由于上传的文件可能非常大,因此这种方法不可行。我需要像 java crypto 接口这样的东西,它有两个方法 update() 和 Final()。

我发现nodeJS加密库似乎可以满足我的需要,但我不知道如何在浏览器端使用它。

我找到了 google crypto-js,但该库似乎不提供经过身份验证的加密,而仅提供标准模式。

有没有办法用 sjcl 分块加密数据?要在浏览器端使用nodeJS加密库?使用 crypto-js 进行身份验证加密?或者是否有另一个安全的 javascript 库可以提供我需要的东西?


简短回答
恐怕这也不是不可能。

长答案
因为您无法保证 Javascript 库的完整性,所以您不能依赖它执行您期望它执行的操作。因此,您无法保证任何安全。

这个问题已经被广泛讨论,并且总是得出相同的结论:如果没有任何双向身份验证和安全通道,您的客户端就无法验证库的正确性。如果任何中间人更改了加密例程,您的客户将不会知道,更不用说您会发现。

So, to guarantee security, you will need SSL and client certificates.
(non-guaranteed security does, off course, not exist)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

安全的Javascript加密库? 的相关文章

随机推荐

  • Jupyter 笔记本注释快捷方式不起作用

    我试图使用 ctrl 在 jupyter 笔记本中注释行 但这不起作用 我使用的是 Windows 10 和 Mozilla Firefox 您的问题可能是由于您的浏览器设置造成的 ctrl 必须设置为其他值 否则您不会处于编辑模式
  • 如何让Hibernate在与JPA一起使用时自动在数据库中创建表?

    我是 JPA 的新手 现在我正在尝试理解标准示例 我在网上阅读并看到了一些 stackoverflow 问题 我在所有这些问题中发现以下语句将允许 hibernate 在运行时创建表 hibernate hbm2ddl auto creat
  • 如果我没有接住投掷会发生什么?

    这是非常基本的 但我在任何地方都找不到答案 那里有很多关于投掷和接球的帖子 但如果我实际上会发生什么throw from function1然后打电话function1 from function2但不要抓住它 这是否意味着它只是被重新抛出
  • 如何在不指定父字段的情况下直接查询嵌套字段?

    我在 mongodb 中有接下来的 3 个文档 文件1 name device1 camera number 3 文件2 name device2 camera number 1 文件3 name device3 wifi number 2
  • ng 选择样式组标题和项目

    我正在使用 ng select https ng select github io ng select data sources https ng select github io ng select data sources 我的角度项目
  • 如何防止浏览器将 ß 更改为 ss?

    我试图让以下德语字符正确显示 不幸的是 它显示为 ss 我尝试遵循我在以下位置找到的一些指示 如何在 HTML 中正确显示德语字符 https stackoverflow com questions 423693 how can i pro
  • 我可以使元素对悬停不可见吗?

    我有一个具有星爆效果 透明 png 背景 的 div 我想在它们悬停时将其叠加在一系列图像上 我必须使 div 变大才能包含图像 但这会妨碍检测图像上的悬停 我将它们全部作为背景图像 因此它们是通过高分辨率 css mediaquery 加
  • Java中的文件截断操作

    在 Java 中截断文件的最佳实践方法是什么 例如这个虚拟函数 只是作为一个例子来阐明意图 void readAndTruncate File f List
  • Nest Battery CamGenerateWebRtcStream 命令出现 INVALID_ARGUMENT 错误

    我正在尝试执行sdm devices commands CameraLiveStream GenerateWebRtcStream https developers google com nest device access traits
  • istream::getline 返回类型

    什么是istream getline方法返回 我这样问是因为我已经看到要循环遍历文件 应该这样做 while file getline char int handle input 被退回的是什么 它返回一个流 以便我们可以链接操作 但是 当
  • 在 github 上怎么说这是我

    我在设置 GitHub 信息时犯了一个错误 因此当我推送到存储库 X 时 出现的名称不是我的名字 我该如何修复它并说那是我 有什么办法可以做到这一点吗 在 BitBucket 中 存储库管理页面中有一个名为 用户名别名 的选项 注意 我是存
  • hg unshelve 好像没有效果?

    我们的团队刚刚开始使用 Mercurial 我们首先开始玩的事情之一是hg shelve 在本地 我可以毫无问题地搁置更改 据我所知 一切都很完美 但是 当我尝试取消搁置时 我得到了restoring backup files消息 但是当我
  • 5 位 zip 或空的正则表达式

    我有这个正则表达式来检查 5 位数字 d 5 我如何更改它 以便它对于空字符串也返回 true 将其封装在 并添加一个 使整个模式可选 实际上 您要么匹配 d 5 OR 空字符串 var regex d 5 console log rege
  • CakePHP:是否可以插入具有预定义主键值的记录?

    我有一个 CakePHP 模型 用户 与外部公司系统有联系 我在这些系统上存储一些数据 在本地存储其他数据 在我的User beforeSave 方法 我尝试设置一个 ID 将数据 使用该自定义 ID 发送到我的公司系统 然后 如果它在那里
  • QMediaPlayer 在 Ubuntu 16.04 / Qt 5.6 上不播放任何内容

    我在 Ubuntu 16 04 上使用官方 Qt 5 6 SDK 当我尝试播放 mp3 文件时 我得到 defaultServiceProvider requestService no service found for org qt pr
  • 如何维护selected的选择顺序并按选择的顺序传递值

    div em em div
  • 程序集必须在隔离错误中注册

    我正在尝试将自定义工作流程活动加载到 crm 服务器上 我将项目加载到服务器上并一直使用CRM插件注册工具 服务器是CRM2011 因此支持 NET 4 0活动 但是 当我按下 注册 按钮 程序集成功加载到工具后 时 会发生以下错误 Unh
  • 如何向 OxyPlot 添加新点?

    这是 Oxyplot 官方页面显示的代码 命名空间 WpfApplication2 using System Collections Generic using OxyPlot public class MainViewModel publ
  • 将静态 iOS 框架链接到应用程序和 XCTest 目标时出错

    我有一个结合了 Objective C 和 Swift 的应用程序 它有一个 XCTest 目标 我有一个用 Objective C 编写的静态框架 它链接到主目标并由主目标和测试目标使用 我测试了 3 种不同的情况 其中两种情况可以编译但
  • 安全的Javascript加密库?

    我正在搜索一个提供安全加密的 JavaScript 库 客户端必须生成密钥 所有上传到服务器的数据都被加密 所有下载的数据都被解密 我需要一个经过身份验证的加密方案 仅 CTR 或 CBC 是不够的 我听说过 sjcl 但似乎 sjcl 只