问题标签 [javax.crypto]

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

java-8 - 使用 JDK 1.8 的 AES-GCM 加密

计划添加对以下 Enc Algo 的支持:

通过基于 JDK 1.8 的实现,参考javax.crypto.spec.GCMParameterSpec& javax.crypto.Cipher。在这里,我知道 Cipher 需要 GCMParameterSpec 对象:

现在想知道上面列出的用于创建GCMParameterSpec对象的所有算法的 ( IV & tLen ) 值是多少。

对于上面列出的不同算法,这些值是否会有所不同(不,在我看来,唯一的变化是密钥大小)

并请描述 GCMParameterSpec 的这两个属性(IV & tLen)的用途

0 投票
1 回答
48 浏览

java - 寻找 javax.crypto 替代品

bouncycastle 或任何东西有 javax.crypto 的替代品吗?我使用的是专有 ide,无法添加我想要的任何库。

我需要的主要课程是SecretKeySpecIvKeySpec

不过我真的很困惑,我可以将这些类自动导入到我的 IDE 中,但是当我实际运行编译器时,即使我可以转到它们的源代码,编译器也找不到它们。我检查了一个单独的答案,该答案说解决方案在于将 jce 添加到类路径中,但这对我来说似乎不是一个选择。有什么解决方法吗?

0 投票
0 回答
166 浏览

java - IBM AIX 6.1 下无法实例化 KeyAgreement

我们需要在 IBM AIX 6.1 中部署一个独立的 jar。这个 jar 尝试使用 hierynomus sshj 和 bouncycastle 连接到 SFTP 服务器。当尝试实例化 KeyAgreement 时,在执行时,它会输出以下内容:

用来运行这个 jar 的 JVM 是:

通过将新的安全提供程序附加到 java.security 提供程序列表的末尾并将库: bcpkix-jdk15on-1.60.jar bcprov-jdk15on-1.60.jar 添加到 ext 目录,已更新 JVM 安全设置。

独立 jar 是使用 maven-assembly-plugin 构建的。

我们想知道为什么会发生这种情况以及我们如何解决它。

0 投票
0 回答
144 浏览

java - 如何实现 FPE 的循环遍历方法以使输出加密字符串的长度与输入字符串长度相同?

根据格式保留加密(FPE)中的循环行走方法概念如下说M是我们想要的字符串输出长度,X是纯文本

我们执行此循环,直到获得所需的输出长度。但是当我尝试通过在 AES 加密代码之上编写一个循环来执行此操作时,加密字符串的输出长度每次都在增加。我错过了什么?

我得到的结果是

但我正在尝试的是经过一些迭代后,输出加密字符串长度应等于输入字符串“012345678”的长度

0 投票
1 回答
473 浏览

java - (Java 到 Javascript)Nodejs Crypto Javascript 中的 javax.crypto.Cipher 等效代码

我正在尝试将下面的java代码转换为nodejs。

这是我能够弄清楚的 -

我无法获得相同的输出。例如,如果

密码=“密码01”

Java 代码输出 - fe0facbf8d458adaa47c5fe430cbc0ad

Nodejs 代码输出 - ae5e8238c929b5716566e97fa35efb9b

有人可以帮我解决问题吗??

0 投票
2 回答
237 浏览

java - 在 C++ 和 JAVA 中发现相同字符串的 SHA-1 不同

相同字符串的 SHA-1 不同是 Java 和 C++

要散列的字符串 - 38902566

Java 中的 SHA-1 - 6ffc3d4038943971cd91db0cf0f3de8ecf1b2853(已确认在线 sha1 工具产生相同的结果)

C++ 中的 SHA-1 - 093288D2933CE7D55295450EBFE711F3E1AE3BF2

Java实现:

C++ 实现

与我共享 C++ 代码以在 Java 中实现。我在这里做错了什么?

0 投票
1 回答
461 浏览

java - Java中的PKCS5_PBKDF2_HMAC_SHA1

必须在 Java 中实现 openssl 函数 - PKCS5_PBKDF2_HMAC_SHA1(keyData, 8, salt, 8, iterCount, KEY_SIZE, key))。

下面是我的Java代码

上面的Java代码正确吗?

0 投票
1 回答
1825 浏览

java - Java中的iOS CryptoKit

我正在寻找 CryptoKit 的设置/参数,这将允许我在 iOS 应用程序和 Java 应用程序之间共享数据。流程如下所示: - 使用 CryptoKit 使用固定密钥和随机初始化向量 (IV) 加密文本。- 在 Java 应用程序中,使用标准 javax 库使用相同的固定密钥执行解密。随机 IV 将与加密文本一起与应用程序一起传输/共享。

同样,也需要反向操作,其中使用 JavaX 库使用固定密钥和随机 IV 对文本进行加密。随机 IV 和加密文本与 iOS 应用程序共享,它应该使用 CryptoKit 对其进行解密。

下面是Java中加密和解密的代码

CryptoKit 命令如下:

以下是在 Java 中生成加密文本的步骤:

要在 SWIFT CryptoKit 中对此进行解密,我首先需要使用此 CipherText 创建一个密封盒,但是,用于创建密封盒的 CryptoKit API 需要以下内容:

  • Nonce/IV(在上面可用)
  • 密文(在上面可用)
  • 标签(不知道从哪里得到这个????)

另一种方式,让我们首先在 CryptoKit 中加密数据

如果我将此 IV 和 CipherText 连同密钥(“12345”字符串的 SHA265 哈希)一起传递给 Java Decrypt 函数,我会收到一个 TAG 不匹配错误。

0 投票
1 回答
157 浏览

scala - Spark 和 javax.crypto

我正在尝试学习加密,我想出了以下代码

在我系统的其他地方,我定义并存储了密钥。然后我将JavaCryptoEncryption.encryptandJavaCryptoEncryption.decrypt应用于一个字符串值,它工作正常。但是,当我想将它们转换为 UDF 并应用于 DataFrame 的列时,我得到org.apache.spark.SparkException: Task not serializable. 类似的代码(没有 iv)适用于 AES/ECB/PKCS5Padding。某些模式不支持并行性吗?有办法吗?或者也许有不同的原因?

0 投票
1 回答
254 浏览

java - 关于使用加密库在 Java 中进行 AES 加密的问题

我目前正在寻找使用 Java 的示例 AES 加密和解密,我偶然发现了这样的解决方案:

关联

其他解决方案提供了相同的方法。我设法让它工作,但我对它的实施有一些疑问。

问题:

  1. 为什么 PBEKeySpec 类需要密码?它是干什么用的?已经有密钥了,为什么还需要额外的令牌或密码?

  2. 我了解密钥和盐是原始未加密字符串的加密值的一部分。为什么呢?为什么不允许将生成密钥和盐存储在其他地方?

谢谢,我感谢任何形式的帮助。只是想了解为什么会这样。