问题标签 [lockbox-3]

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 投票
0 回答
362 浏览

delphi-10-seattle - LockBox 3 - 似乎不支持 PKCS 填充

我有一个抽象密码箱加密组件的类层次结构。具体来说,我们对带有 PKCS#5 填充的 AES-265 感兴趣。

使用 CBC 正确设置了类实例,并将编码显式设置为 ANSI,但结果输出是加扰的,这意味着填充已关闭。唉,CBC 支持不止一种填充方案,我认为 Lockbox 没有使用我们需要的填充方案。

你有什么想法我哪里出错了吗?

这是类层次结构的相关代码:

代码是这样使用的:

有任何想法吗?

0 投票
1 回答
331 浏览

lockbox-3 - LockBox3 DecryptStream 无法创建纯流

当我尝试对一些二进制数据进行编码时,一切正常:

我得到了期待

在 chiperchar 缓冲区中。

不幸的是,当我尝试对上述芯片缓冲区使用 DecryptStream 函数时,它不会创建纯数据流(流为 0 字节长度)

我做错了什么?为什么 DecrpytStream 无法创建正确的流?

当我使用 EncryptString 和 DecryptString 函数时,一切正常,加密和解密后我得到相同的字符串。

Codec1 属性为:

0 投票
0 回答
309 浏览

delphi - Delphi LockBox3,Asymetric_Engine.createFromStream 错误

编辑:因为我无法让这段代码工作,所以我做了一个小解决方法:现在我通过 ShellExecute 调用 openssl 控制台(不太安全,但它可以工作)。

大家早上好,让这个delphi代码工作我很头疼:

问题是“signatory.LoadKeysFromStream(keyStream,[partPublic]);” 程序继续失败,出现“流错误”异常;文件在阅读模式下正确打开。

公钥文件的内容是

(我有完整的密钥,但我不想泄露)

有人可以帮助我吗?我阅读了有关 pkcs#1 填充和 openssl 命令的信息(Lockbox 3 load public key not possible - stream reading error

但无法识别“-RSAPublicKey_out”(OpenSSL 0.9.8zh 2016 年 1 月 14 日)。我也有私钥。

感谢所有可以帮助我的人!

更新:我也尝试生成加密密钥,但我无法读取它们。

结果是一样的。

我在这里下载了库: https ://github.com/TurboPack/LockBox

0 投票
1 回答
2637 浏览

php - Delphi/PHP LockBox 加密 AES ECB

这个问题有一些变体,但我无法确定问题所在。尝试在 PHP 和 Delphi 中加密/解密我假设我错过了 Delphi 中的一些设置及其与 UTF-8 的关系

使用http://aesencryption.net/作为 PHP 示例,我们试图得到的结果。Image Blow
密码 = 123
密钥 = 测试
128 位
加密到 uuIikEZSC9Sa1HAt/XKfGQ==

我希望能够在 Delphi 中对此进行解密
我正在使用 Delphi XE5
https://github.com/SeanBDurkin/tplockbox
我可以在 Delphi 中使用 encrypt/DeCrypt 但 PHP 加密版本字符串不同

Delphi加密123为vpdeLlfnxTGrSsa2TpbFvg==

这是 Delphi Encrypt 的一个简单示例

解密

有人有什么建议吗?

在此处输入图像描述

0 投票
1 回答
1800 浏览

delphi - 使用 Delphi 10.1 Berlin 使用 3DES 加密字符串

我需要使用 3DES 在 Delphi 中加密一个 10 字节的字符串。

它必须得到与此 PHP 代码相同的结果:

我一直在尝试使用 DCPCrypt 和 LockBox 3 对其进行编码。我终于放弃了 DCPCrypt,因为它最近没有更新,我不确定它是否与 Delphi 10.1 Berlin 一起正常工作,所以我专注于 LockBox 3,但是我无法正确加密。

加密密钥是一个 24 字节的密钥(我有它的 base64 表示)。我找不到如何使用 LockBox 的 TSymetricKey 类创建这样的密钥,以将其传递给 Codec.Init 方法。所以我把它放在一个 AnsiString 上并将它设置在 Password 属性上(虽然文档说有一个 utf8Password 但我找不到它)。

然后有一个名为 EncryptAnsiString 的方法,但它再次需要字符串(Delphi 10.1 Berlin 上的 utf16)而不是 AnsiStrings(尽管文档说相反),所以我对结果与我正在寻找的不匹配并不感到惊讶for(在那个 PHP 片段上加密的相同值)。

这是我的德尔福代码:

但是这段代码不仅不会得到与 PHP 代码相同的结果,而且在每次调用时,它都会为相同的输入返回不同的结果。

注意:Codec1 是链接到 TCryptographicLibrary 组件的组件,其属性 ChainMode 设置为 CBC*,Cipher 设置为 3DES(密钥选项 1)

有人知道如何正确获得这种 3DES 加密吗?

谢谢你。

0 投票
1 回答
918 浏览

delphi - Delphi2010下哪个版本的LockBox3工作?

当我正在寻找 AES-128 加密时,我想让 Lockbox3 在 Delphi2010 上运行。

这里的第一个问题:官方来源是什么/在哪里?

https://sourceforge.net/projects/tplockbox/的源代码不包含 Delphi2010 的包,也根本不编译(大量错误)。

https://code.google.com/archive/p/tplockbox/不再维护并指向https://github.com/SeanBDurkin/tplockbox

我从 github 下载了源代码,我认为是在 V3.6.3 中(源代码中没有提到版本,对吧?)。可以安装这些包,但例如 MakeSampleKey 示例无法编译,因为 EncryptString 不适用于 AnsiStrings(umfmMakeSampleKey.pas,第 216 行)。

然后,我创建了一个项目并使用了如何 AES-128 在 Delphi 中使用密码加密字符串并在 C# 中解密的 OP 的源代码?

我将 CipherText 从 AnsiString 更改为 String。代码可以编译,但是当我运行它时,它在 TPLB3.SHA1.pas 第 264 行中因“整数溢出”而崩溃。

LockBox3 是否仍在维护,是否可用于 Delphi2010?如果是,那么如何?我做错了什么?谢谢!

编辑:还有另一个托管 LockBox3 的 GitHub 项目,即https://github.com/TurboPack/LockBox3 来自那里的最新资源不会在 Delphi2010 下编译。(有关问题的简短列表,请参阅 OP 下的评论)

编辑:这是我尝试使用的一些代码(但失败了)-我将其发布在这里,因为我无法将其格式化为评论:

0 投票
0 回答
1094 浏览

android - 使用 Delphi LockBox 3:如何与 android 设备通信?

我正在使用带有 LockBox 3 的 Delphi XE8 构建一个 RESTful 服务器进行加密。我使用 AES 加密数据 (JSON) 并将其发送到 Adroid 设备 - 客户端。

如果我将加密数据发送给客户端并且客户端知道加密密钥,那么他如何在不知道 IV 的情况下解密数据,因为它由 LB3 内部自动管理?

我正在使用德尔福 XE8

第一:我安装了上一个版本的 LockBox。

第二:没有关于如何设置 IV 的文档。

我设法得到了IV(密文的前8个字节):

例如(128):

在客户端(Android)上,我收到错误“Bad base 64”或“最后一个块在解密中不完整”,这是我的代码(仅用于测试):

[我用零完成IV]

当我在 Android 中运行它时,我得到:“解​​密中的最后一个块不完整”,当我从 getBytes() 中删除“UTF-8”时,我得到“bad base-64”,我不知道如何解决它,任何想法?

0 投票
2 回答
962 浏览

delphi - TurboPower LockBox 3 不会安装在 Delphi XE4 中 - 编译期间出错

我试图在 Delphi XE4 中使用 LockBox 3 来替换一个莫名其妙地停止工作的加密套件。我打开了 Delphi 项目文件并显示了三个 bpl,但是当我右键单击然后选择在 LockBox3VCLDD240.bpl 上安装时,它会尝试编译,然后给出以下错误消息:

[MSBuild 错误]“0”是“DCC”任务的“DebugInformation”参数的无效值。“DebugInformation”参数的类型为“System.Boolean”。

我尝试在项目 -> 选项 -> Delphi 编译器 -> 链接中将“调试信息”更改为 True,但仍然出现错误。任何人都可以提供帮助吗?

0 投票
1 回答
472 浏览

delphi - 无法使用 LockBox3 解密 XXTEA 加密字符串

我目前正在测试 Lockbox3,并且在尝试使用 XXTEA 密码进行简单的字符串加密和解密时遇到了问题。我正在使用 Delphi 10.1 Berlin 并使用 GetIt 安装了最新版本的 Lockbox3!我的测试应用程序针对 Win32 (VCL)。

问题是加密工作正常,但是当我尝试解密字符串时,抛出异常:“目标多字节代码页中不存在 Unicode 字符的映射。”。我不确定是什么问题?

0 投票
1 回答
703 浏览

encryption - 密码箱 3 AES 128 加密 PLSQL dbms_crypto 解密

我无法在 Delphi 和 Oracle 之间返回相同的加密值,任何帮助将不胜感激。可能是填充可能导致差异,不幸的是我不确定。

密码箱 3 Delphi RAD Studio Tokyo 10.2

结果 :

甲骨文快捷版

结果 :