问题标签 [des]

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 回答
981 浏览

java - 通过 JNDI 更新 LDAP 加密密码

我需要一些指示如何更新 LDAP 树中用户的 LDAP (OpenLDAP) 中的加密密码。LDAP 服务器中的密码以 {crypt} 为前缀,我想这表明它是加密的(使用 DES?)

我需要编写一个更新用户密码的方法。这样做的正确方法是什么?我需要自己在字符串前面加上 {crypt} 吗?如何加密 {crypt} 的密码?

更新:

只是为了澄清我需要的是用于加密属性的 Java 代码,以便它与 {crypt} 一起使用。我也不知道我是否必须自己在属性前面加上字符串 {crypt}。

0 投票
1 回答
480 浏览

java - Java 和 PHP 中的 DES 加密

我需要创建一个类来加密文本并将其发送到 PHP 服务器。然后 PHP 服务器对其进行解码。

但问题是,我不懂 PHP,所以我无法编写具有相同逻辑的代码(就像我在 Java 中使用的那样)来解密文本,所以我完全依赖于互联网上的代码,但我找不到那些具有相同逻辑的代码(在 Java 和 PHP 中相同)。我只需要DES加密。

请给我一些链接或代码好吗?

0 投票
2 回答
6366 浏览

cryptography - 破坏DES的代码

我正在学习密码学,我需要开发 Java 或 C 代码来打破 DES(数据加密标准)。我知道 DES 中使用的算法,但我不知道应该如何使用 Java 或 C 进行编码。我听说过 Java 密码体系结构,但我不知道如何使用它?有人可以为我提供一个简短的教程吗?

谢谢

0 投票
1 回答
627 浏览

pdf - Ghostscript 在加密 PDF 时是否使用 AES 或 DES 加密方法?

Ghostscript 在加密 PDF 时是否使用 AES 或 DES 加密方法?
我是否需要指定特定的 -dEncriptionR=# 值(# 可以是 2、3、4、5 等)才能在 Ghostscript 命令行上使用 AES 而不是 DES?

0 投票
4 回答
11100 浏览

encryption - TripleDES 密钥大小 - .NET 与 Wikipedia

根据维基百科,TripleDES 支持 56、112 和 168 位密钥长度,但 System.Cryptography.TripleDESCryptoServiceProvider.LegalKeySizes 表示它只接受 128 和 192 位密钥长度。

我正在开发的系统需要可互操作(由我的代码加密的数据需要在 PHP、Java 和 Objective-C 中可解密),在这种情况下我不知道谁是正确的。

那我应该相信谁?我如何确保我的加密数据是可移植的?

0 投票
2 回答
9083 浏览

c# - DES-ECB加解密

我在我的应用程序中使用 DES-ECB + base64 加密。这就是我称之为“加密”的类的代码

但是当我加密一个字符串,然后再次解密并再次加密时,加密的字符串与之前的加密字符串不同。这是第一个加密字符串:

kEN0HUp/dqz8kXA7nYivJG6Jl3haLJjhBq1UfEtQTwaPwizW//03M0UxF8dBuYZo2BoZ5vsVcXRJF1LpFZLWxDsdeKAC43L2K2OoYRxTn/dA6KmM13YS9xOezGiROQfVj5qrkdokJRCvj0gYfFoH2oeDGyN+EAw5Dgzsp697kj4=

这是第二个加密字符串:

kEN0HUp/dqz8kXA7nYivJG6Jl3haLJjhBq1UfEtQTwaPwizW//03M0UxF8dBuYZo2BoZ5vsVcXRJF1LpFZLWxDsdeKAC43L2K2OoYRxTn/dA6KmM13YS9xOezGiROQfVj5qrkdokJRCvj0+gYFEA

它们几乎相同,除了第一个字符串中的“Dgzsp697kj4=”。
怎么了?
提前致谢。

0 投票
1 回答
945 浏览

java - 使用 des ede、javax.crypto.badpaddingexception 的解密错误

我一直被困在我的代码中的一个错误上,它不会让我正确解密!我只向 dataBytes 传递了 8 个字节的数据,并且向 keyBytes 传递了一个 24 字节的密钥。我正在尝试将解密的数据作为字节数组返回。我不断收到错误的填充异常。

谢谢!

这是代码片段:

0 投票
2 回答
1838 浏览

python - 关于python中DES加密的问题

我正在尝试创建一个 LM/NTLM 响应,为此我需要使用 DES 算法加密服务器发送的质询

以下是我所做的:

但是,当我尝试"\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f"使用 DES 加密时,我得到以下结果:

用于加密的密钥:['0xfe', '0x9b', '0xd5', '0x16', '0xcd', '0x15', '0xc8', '0x49']

加密后的挑战:

服务器不接受上述响应

尝试使用名为DEScalc.jar的工具(http://www.unsw.adfa.edu.au/~lpb/src/DEScalc/index.html),发现加密后的结果是:

注意到上面的结果被服务器接受了

是否有我缺少的 DEScalc.jar 使用的特定算法,因此我没有得到 DEScalc.jar 获得的结果


大家好,非常感谢您的帮助;问题在于我在 python 中表示十六进制的方式;我使用以下函数将“0123456789abcdef”转换为 Keith 提到的十六进制表示,并且它有效:

非常感谢

0 投票
4 回答
5448 浏览

java - Java或C中的字符位操作?

我是一名试图实现 DES 算法的学生。我有两种语言可供选择:C 和 Java。我确实了解该算法,但在操作密钥方面一开始就被困住了。

这就是问题所在。在 DES 中,我们有一个 64 位密钥(C 中为 8 个字符,Java 中为 4 个,尽管我可以将字符转换为字节以仅获取 ASCII 部分),其中每个第 8 位都是奇偶校验位,需要被剥离使其成为 56 位密钥并进行进一步处理。我已经考虑了很长时间,但是找不到一种方法来剥离每 8 位并将结果存储在另一个 char 数组中(在 Java 和 C 中)。我尝试使用java.util.BitSet class,但感到困惑。

关于如何删除每 8 位并连接相邻字节(Java)或字符(C)以获得 56 位密钥的任何建议?

我知道位操作和移位,但对于特定示例:
假设我有一个 16 位密钥:1100 1001 1101 1000.
我需要删除第 8 位和第 16 位,制作密钥:1100 100 1101 100.

如果我声明 2 个字节,我如何截断第 8 位并将第 9 位附加到它,使第一个字节:1100 1001

那么,我需要帮助的是如何将第 8 位替换为第 9 位,将第 16 位替换为第 17 位等等,以从 64 位密钥导出 56 位密钥?

如果有人可以向我解释,我可能能够实现它,而不管语言如何。

0 投票
3 回答
1110 浏览

java - 使用 DES 加密整数值

我想用 DES 加密一个整数,得到的密文也应该是一个整数。

解密函数也应该遵循这个概念。

我正在尝试通过将字节数组转换为整数而不是使用 Base64 编码来修改使用 DES 加密字符串中的代码。但是,解密函数会抛出不正确填充的异常,因为整数到 byte[] 的转换会导致 4 字节数组。

有没有其他加密算法可以用来实现这一点。

  • 我不关心密文的弱点。