问题标签 [integrity]

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 投票
2 回答
1352 浏览

delphi - 如何检测表是否在我的应用程序外部添加或删除了行?

这是一个特定的场景。我需要实现的是:

  1. 如果有人在我的应用程序 UI 之外的指定表中插入或删除一行或多行,那么它应该检测到该表已被修改。
  2. 它不应该使用触发器。

这是它不需要做的:

  1. 区分是删除还是插入。
  2. 检测进行了更改或更改了位置
  3. 如果用户同时执行相同数量的插入和删除。从技术上讲,这可以算作更改,因此不需要将其检测为插入和删除。

这就是我们认为可以完成这项工作的方法:创建一个存储被监视的表名、行数和验证键的表,让我们调用integrity_tbl. 插入或删除后,更新行数和验证键。仅当验证键有效时才更新行数。每次比较失败时使验证密钥无效。当需要数据完整性验证时,计算表中的行数并与integrity_tbl.

您认为这是一个好方法还是我们应该尝试其他方法?

为此,我们使用 Delphi 和 Firebird。如前所述,我们正在使用 IBX 连接到数据库。但逻辑是问题而不是访问数据库的方式。

0 投票
4 回答
4985 浏览

python - 如何使用 sqlalchemy IntegrityError 查找违规属性

我有一个非常简单的 SqlAlchemy 模型

插入新用户时,IntegrityError如果电子邮件或电话重复,则可能发生。

有什么方法可以检测哪些列违反了完整性错误?或者是进行单独查询以查看或存在值的唯一方法?

0 投票
1 回答
179 浏览

c# - 如何保护签名密钥?

我需要验证设置文件的完整性。该文件是一个 xml 文档。我知道您可以使用此 stackoverflow 帖子中讨论的现成功能。但是,我无法理解如何保护签名密钥。如果我签署一个 xml 文件以作为对其内容的完整性检查,用户可以轻松地反汇编我的可执行文件并获取密钥和/或生成密钥的方式。我有哪些方法可以轻松保护密钥?密钥容器似乎是一种选择,但我看不出它们如何保护密钥和/或用于生成所述密钥的方法。

谢谢!

0 投票
1 回答
748 浏览

python - django完整性错误,多对多关系

那是我的models.py:

添加用户工作得很好:

尝试添加链接时出现完整性错误:

我错过了什么?

0 投票
1 回答
473 浏览

android - Android 上的完整性测量架构

我想详细了解 IMA(完整性测量架构)未包含在 Android 中的原因。任何论文或读物都受到高度赞赏。

0 投票
1 回答
185 浏览

c++ - 在开发机器上设置 dll 的完整性优先级是否在 install-build 上持续存在

我使用 IShellLink 来获取快捷方式的目标路径。大多数时候它很好,但我偶尔会丢失一些文件。我在某处读到完整性优先级可能是一个问题。请参阅此处的完整性优先级 - http://msdn.microsoft.com/en-us/library/bb625960.aspx 我的问题是 - 如果我更改我的开发机器上所有 dll 的完整性优先级,然后使用这些构建安装版本dll的,然后将安装构建移动到另一台机器并在那里安装程序;我设置的中等完整性优先级是否会在新机器上持续存在。或者我必须在安装程序后编写一个脚本来更改完整性优先级。
我希望安装后我不需要做任何事情。

0 投票
1 回答
52 浏览

hash - 哈希函数和完整性

考虑以下情况:

  1. 我有一个字符串 s 和哈希函数 H 生成哈希“h”。
  2. 我将 s 和 h 都发送给另一个。
  3. 他将s和h发回给我。
  4. 在接收到的 s 和 h 上,我执行 h'=H(s) 并将其与接收到的 h 进行比较,如果它们相同,则意味着在步骤 3 中接收到的 si 与我在步骤 2 中发送的完全相同。

那是对的吗?

如果有人有 h 和 s 但没有 H 哈希函数,他能发现(或创建)H 函数吗?

谢谢

0 投票
3 回答
1201 浏览

sql - 如何确保计数表的连续性?

SQL For Smarties中,Joe Celko 提供了 Series 表(在其他地方称为 Tally 或 Numbers)的 ANSI SQL 定义。他的定义确保列中的值是唯一的、正的并且从 1 到最大值是连续的:

PRIMARY KEY 声明确保了唯一性。约束确保了积极性non_negative_nbr。有了这两个约束,约束就确保了连续性numbers_are_complete

SQL Server 不支持检查约束中的子查询。当我尝试创建 Series 表时,收到如下错误:

如果我删除 unsupported constraint numbers_are_complete,我会得到这个定义:

当我尝试创建这个版本的系列时,它成功了:

这个版本的 Series 较弱,因为它不强制表中数字的连续性。

为了证明这一点,首先我必须填充表格。我采用了 Itzik Ben-Gan 在他的文章 ' Virtual Auxiliary Table of Numbers ' 中描述的一种技术,可以有效地处理 65,536 行:

查询产生如下输出:

现在我可以从这样的表中选择生成 65,536 行:

我已经截断了结果集,但它看起来像这样:

自己检查一下,你会发现区间 [1, 65536] 中的每个数字都在结果集中。该系列是连续的。

但是我可以通过删除不是范围端点的任何行来打破连续性:

如果强制执行连续性,则此语句将引发错误,但它会成功:

人类很难通过目视检查找到缺失值。他们必须首先怀疑某个值是否丢失,然后再去惹麻烦。由于这些原因,篡改 Series 数据是一种将细微错误引入依赖 Series 表连续的 SQL Server 应用程序的简单方法。

假设用户编写了一个查询,该查询从 Sequence 读取以枚举来自另一个源的行。在我篡改之后,该查询现在会在某个值附近产生不正确的结果 - 到第 25,788 行,一切都偏离了一个。

可以编写一个查询来检测 Series 表中的缺失值,但是如何约束该表以使缺失值是不可能的?

0 投票
5 回答
3030 浏览

java - 在 JAVA 中检查加密密钥的正确性

我正在使用 BouncyCastle 在 CBC 模式下使用 AES 和 PKCS5 填充来加密/解密一些文件:

现在有两个问题:

  • 如何检查提供的用于解密数据的密钥是否正确?
  • 如何检查加密输入是否未被触及(例如,用户使用 HEX 编辑器未更改)?

谢谢

0 投票
2 回答
3077 浏览

md5 - 如何在 Inno Setup 安装程序中实施 MD5 检查以获得“像 NSIS 完整性检查”?

如何在 Inno Setup 中实施 MD5 检查,以便它可以验证基本安装程序文件(exe + bins)InitializeSetup- 这是标准的 NSIS 功能,它非常有用,因为它会通知安装程序是否正常或损坏?

在 IS 的情况下,可能需要嵌入 MD5Summer 或其他 MD5 检查器并在编译期间/之后创建 MD5 总和。