问题标签 [nonce]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
606 浏览

c# - 如何在 C# 中为 Threema-API 使用 NaCl 加密?

我想为内部工具编写一个 C# Threema API。

这是 API: https ://gateway.threema.ch/en/developer/api

它说,对于端到端加密,必须有 NaCl 加密,当我理解正确时 - API 是一个 webAPI,它需要:

那么如何加密这些数据呢?当然,我可以为 nonce 生成一个 24 字节长的十六进制编码字符串,但是如何在 c# 中使用该 nonce 加密文本?

0 投票
1 回答
824 浏览

encryption - 如何使用 salsa20 计数器随机数?

  1. 我不确定我是否正确:消息计数器可以用作/代替随机数?

我的意思是这样的消息:

标题(2字节) | 计数器(8bytes) | 正文(n 字节加密) | HMAC-SHA1

计数器 = 1(63 位 = 0)可以吗?

  1. 我知道我不应该两次使用相同的密钥和相同的随机数。当一个新的连接开始并且计数器再次从 1 开始时,我该怎么办?
0 投票
1 回答
506 浏览

node.js - NodeJS、ExpressJS、Mongoose 4.4、用于并发和 Document.update 的 Nonce

我有以下组合,NodeJS、Express、MongoDB 和 Mongoose。我已经实现了一个带有猫鼬承诺的随机数,以允许并发编辑。请参阅以下内容:

并发更新基于此: http: //www.mattpalmerlee.com/2014/03/22/a-pattern-for-handling-concurrent/

并阅读猫鼬文档,更新基于此。 http://mongoosejs.com/docs/api.html#document_Document-update

但是,当代码进入最终的 .then (//更新响应)时,我看到 raw.n (numberAffected) = 1 但数据库永远不会更新?

答案可能很接近,但我错过了。我在这方面缺少什么?

0 投票
0 回答
225 浏览

asp.net - Nonce 以保护 Web 表单

我已经知道什么是随机数了,但我还是有点困惑。

我想问一下,为了保护网络表单(例如:订单项),生成的随机数只能使用一次还是可以多次使用但有过期时间?

0 投票
0 回答
78 浏览

javascript - Nonce 在 ajax 保存时失败

我制作了带有 2 个表单和两个单独的 nonce 字段的选项页面,以及我使用 AJAX 保存的其他输入字段。

问题是,每次我通过 AJAX 保存并调用我的函数来保存选项时,我都会得到在 nonce 失败时发生的“Busted”值。

布局部分如下所示:

它基本上是布局的下拉列表,我可以设置它们并将它们保存到我的选项中。这仅在我第一次设置时才有效。它可以节省,一切都很好。但是如果我想修改它,我的 nonce 会失败。保存函数(对于第一种形式)如下所示:

现在在我的网络选项卡中,admin-ajax.php我可以正确看到所有$_POST

在此处输入图像描述 在此处输入图像描述

我知道它失败了,因为在我的预览中我从(你可以看到我把它放在我的)中得到了ajaxnonce价值。$_POSTdie()

但为什么会失败?

第二种形式有不同的名称,不同的随机数名称,一切。ajax 工作,但随机数失败,我不知道为什么:\

任何帮助表示赞赏。

0 投票
1 回答
14732 浏览

youtube - youtube 视频中的 CPN 是什么

点击人民币后出现的上下文菜单有一个名为 Stats for nerds 的选项,之后左上角出现另一个菜单。

相关的参数之一是 CPN。这意味着什么?

0 投票
0 回答
71 浏览

asp.net - 什么是 ASP.net 中的“隐藏表单域中的加密安全页面或表单随机数”?

我正在了解可以提供给 ASP.net Web 应用程序的证券。我遇到了可以在会话管理中提供安全性的术语“密码学”和“随机数”。请帮助我更多地了解这一点。

0 投票
0 回答
85 浏览

javascript - 生成的随机数长度正在改变

我正在尝试生成固定长度的随机数(长度为 9)。但是我的代码有时会打印 8 个长度的随机数,有时会打印 9 个长度的随机数。

是我正在尝试做的,但采用不同的方法(我已将其修改为固定的随机数长度)

当我将长度作为 9 作为参数传递时,我无法理解为什么它打印长度为 8 的随机数?

如果有人能说出为什么会这样,那就太好了。

下面是完整的 Nodejs 代码

样本输出:

0 投票
1 回答
206 浏览

php - 使用 nonce 加载图像和歌曲

我目前正在开发一个独立的幻灯片应用程序,它显示 CSS 动画图像和音乐。

直到今天,图像和音乐都是直接从它们的真实位置加载的——这意味着这个位置和文件必须完全可供公众访问,任何人都可以直接打开图像和歌曲,而无需使用我的应用程序。这对于原型设计和发布来说很好 - 但现在需要更先进的防盗保护。

不要误会我的意思:我知道,没有真正的保护。我只是想让人们在直接下载方面遇到困难。应该没有办法直接链接到媒体文件。

这是我想出的:

  • 图像和歌曲通过 PHP 加载- 您指定 id 作为参数,PHP 查找位置并提供文件(如果找到)。此外,仅当作为参数提供的 nonce 有效(存在且不超过 30 秒)时才提供文件。nonce 由 PHP 生成并存储在$_SESSION['nonce']变量中。

    <img src="image/imageid?nonce=[[nonce]]">
    <audio><source src="song/songid?nonce=[[nonce]]"></audio>

  • 在我的应用程序中,我具有三个功能:

    • (string) generateNone()用于生成、保存会话和返回 nonce 值 -> 用于标记以生成链接
    • (bool) validateNonce()用于检查 nonce 是否有效并在之后将其删除以使其无法重复使用
    • (void) initNonces()从会话中删除所有随机数。每次应用加载(当然不包括图像和歌曲服务)时都会调用此函数,以防止积累未使用的随机数。

问题:

从理论上讲,这整个想法是有效的。实际上,我遇到了两个我无法解决的问题:

  1. 图像似乎被浏览器重新加载:当使用 jQuery/JavaScript 更改图像时(例如“隐藏图像 1,显示图像 2”或“隐藏图像 4,显示图像 5”),图像无法加载,因为 nonce 不是不再有效(= 已经使用过一次)。验证后停止 nonce-deletion(= nonce 可重用)解决了这个问题,但这不是真正的解决方案。这个问题可能与问题 2 有关,因为 jQuery 仅更改 CSS 属性以显示和隐藏图像。

  2. 图像和歌曲在 nonce 生命周期后加载:浏览器似乎加载最初被 CSS 隐藏的图像,只有当图像变得可见时。虽然这通常有助于减少带宽使用,但在我的场景中,它会阻止图像和歌曲在 30 秒的 nonce 生命周期后加载。我需要一种方法让浏览器直接加载所有内容,或者至少在 30 秒的时间内打开并保持与请求的图像/歌曲的连接。

问题:

很难确定真正的问题,所以我希望知道浏览器内部如何处理媒体加载的人可以给我一个关于如何解决所描述问题的提示。如果您需要任何代码,请告诉我。

0 投票
3 回答
7496 浏览

node.js - 如何在 NodeJS 中使用生成的 nonce 并在没有数据库调用的情况下进行验证?

我正在生成一个随机数来验证向导步骤以一个接一个地保护它。

我知道如何在 nodejs 中创建 nonce 并将其存储在数据库中以确保它可以使用一次。

但我想知道,是否有一个想法来生成和验证上面的随机数,比如只使用一次,如果可能的话,可以在时间限制(到期)内使用,而无需将其存储在数据库中,而只需将其返回到客户端在一个向导步骤中并在下一步中验证相同。

我通常使用下面的方法来生成随机数,对其进行规范化并将其存储在具有过期时间的 mongodb 中,以便 mongodb 将在特定时间后删除它,如果它没有被使用。

请建议是否有任何好的/优化的方式来生成 nonce,以及在没有数据库调用的情况下处理一次性使用和到期的可能性。