问题标签 [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.
java-8 - 使用 JDK 1.8 的 AES-GCM 加密
计划添加对以下 Enc Algo 的支持:
- AES128-GCM:http ://www.w3.org/2009/xmlenc11#aes128-gcm
- AES192-GCM:http ://www.w3.org/2009/xmlenc11#aes192-gcm
- AES256-GCM:http ://www.w3.org/2009/xmlenc11#aes256-gcm
通过基于 JDK 1.8 的实现,参考javax.crypto.spec.GCMParameterSpec
& javax.crypto.Cipher
。在这里,我知道 Cipher 需要 GCMParameterSpec 对象:
现在想知道上面列出的用于创建GCMParameterSpec对象的所有算法的 ( IV & tLen ) 值是多少。
对于上面列出的不同算法,这些值是否会有所不同(不,在我看来,唯一的变化是密钥大小)
并请描述 GCMParameterSpec 的这两个属性(IV & tLen)的用途
java - 寻找 javax.crypto 替代品
bouncycastle 或任何东西有 javax.crypto 的替代品吗?我使用的是专有 ide,无法添加我想要的任何库。
我需要的主要课程是SecretKeySpec
和IvKeySpec
不过我真的很困惑,我可以将这些类自动导入到我的 IDE 中,但是当我实际运行编译器时,即使我可以转到它们的源代码,编译器也找不到它们。我检查了一个单独的答案,该答案说解决方案在于将 jce 添加到类路径中,但这对我来说似乎不是一个选择。有什么解决方法吗?
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 构建的。
我们想知道为什么会发生这种情况以及我们如何解决它。
java - 如何实现 FPE 的循环遍历方法以使输出加密字符串的长度与输入字符串长度相同?
根据格式保留加密(FPE)中的循环行走方法概念如下说M是我们想要的字符串输出长度,X是纯文本
我们执行此循环,直到获得所需的输出长度。但是当我尝试通过在 AES 加密代码之上编写一个循环来执行此操作时,加密字符串的输出长度每次都在增加。我错过了什么?
我得到的结果是
但我正在尝试的是经过一些迭代后,输出加密字符串长度应等于输入字符串“012345678”的长度
java - (Java 到 Javascript)Nodejs Crypto Javascript 中的 javax.crypto.Cipher 等效代码
我正在尝试将下面的java代码转换为nodejs。
这是我能够弄清楚的 -
我无法获得相同的输出。例如,如果
密码=“密码01”
Java 代码输出 - fe0facbf8d458adaa47c5fe430cbc0ad
Nodejs 代码输出 - ae5e8238c929b5716566e97fa35efb9b
有人可以帮我解决问题吗??
java - 在 C++ 和 JAVA 中发现相同字符串的 SHA-1 不同
相同字符串的 SHA-1 不同是 Java 和 C++
要散列的字符串 - 38902566
Java 中的 SHA-1 - 6ffc3d4038943971cd91db0cf0f3de8ecf1b2853(已确认在线 sha1 工具产生相同的结果)
C++ 中的 SHA-1 - 093288D2933CE7D55295450EBFE711F3E1AE3BF2
Java实现:
C++ 实现
与我共享 C++ 代码以在 Java 中实现。我在这里做错了什么?
java - Java中的PKCS5_PBKDF2_HMAC_SHA1
必须在 Java 中实现 openssl 函数 - PKCS5_PBKDF2_HMAC_SHA1(keyData, 8, salt, 8, iterCount, KEY_SIZE, key))。
下面是我的Java代码
上面的Java代码正确吗?
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 不匹配错误。
scala - Spark 和 javax.crypto
我正在尝试学习加密,我想出了以下代码
在我系统的其他地方,我定义并存储了密钥。然后我将JavaCryptoEncryption.encrypt
andJavaCryptoEncryption.decrypt
应用于一个字符串值,它工作正常。但是,当我想将它们转换为 UDF 并应用于 DataFrame 的列时,我得到org.apache.spark.SparkException: Task not serializable
. 类似的代码(没有 iv)适用于 AES/ECB/PKCS5Padding。某些模式不支持并行性吗?有办法吗?或者也许有不同的原因?
java - 关于使用加密库在 Java 中进行 AES 加密的问题
我目前正在寻找使用 Java 的示例 AES 加密和解密,我偶然发现了这样的解决方案:
其他解决方案提供了相同的方法。我设法让它工作,但我对它的实施有一些疑问。
问题:
为什么 PBEKeySpec 类需要密码?它是干什么用的?已经有密钥了,为什么还需要额外的令牌或密码?
我了解密钥和盐是原始未加密字符串的加密值的一部分。为什么呢?为什么不允许将生成密钥和盐存储在其他地方?
谢谢,我感谢任何形式的帮助。只是想了解为什么会这样。