问题标签 [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 回答
647 浏览

java - 从现有 Cipher 中获取密码模式和填充方案

我有一个现有的密码,使用创建

我想知道自动选择了什么密码模式和填充方案。


返回

SunJCE Provider(实现 RSA、DES、Triple DES、AES、Blowfish、ARCFOUR、RC2、PBE、Diffie-Hellman、HMAC、ChaCha20)

这是当前提供者支持的。但是,似乎没有可用的信息是/正在使用什么方法进行加密。

0 投票
1 回答
192 浏览

java - 从java中的SQL解密数据

解密从 java 中的 SQL 获得的数据时遇到问题。

我想要做的是将加密信息发送到 SQL 数据库,然后从数据库中获取并解密它,但我得到了这个异常:

javax.crypto.BadPaddingException:给定最终块未正确填充。如果在解密期间使用了错误的密钥,则可能会出现此类问题。

可能是什么问题,我该如何解决?以及如何保存每个密码的密钥?

这是我的代码:

注意:不会发生此异常的唯一方法是在同一运行中加密和解密相同的密码(使用相同的密钥)。所以,我所做的是在解密时添加 id(要添加的密码),以便它可以看到相同的密钥。我知道这是解决这个问题的一种不方便的方法,但我是安全新手,我不知道如何解决它。

0 投票
0 回答
62 浏览

java - Rfc2898DeriveBytes 的 Java 等效解密抛出 Invalid AES Key Length

我有以下来自同事编写的 C# 应用程序的解密代码:

将等效的密码学拼凑在一起,我目前将 Java 等效为:

但它抛出了一个异常:

我不明白为什么密钥长度无效

0 投票
1 回答
132 浏览

kotlin - 从文件读取后解密加密的 JSON 字符串时出现 IllegalBlockSizeException

从文件中读取先前加密的 JSON 字符串后,我收到 IllegalBlockSizeException:javax.crypto.IllegalBlockSizeException error:1e00007b:Cipher functions:OPENSSL_internal:WRONG_FINAL_BLOCK_LENGTH

以下代码有效,当我不将字符串写入文件,而是直接解密加密字符串时:

我正在使用以下代码读取字符串并将其转换为ByteArrayusing String.toByteArray()

文件是这样写的:

0 投票
0 回答
65 浏览

java - 尽管我提供了模块化和指数,Javax 加密似乎生成了一个随机的 RSA 公钥

我进行了以下导入:

我已经将变量 N​​ 声明为 largeBigInteger并且 done RSAPublicKeySpec pub=new RSAPublicKeySpec(N, new BigInteger("65537"));。我也有一个字符串数组ls。为了简单起见,ls 定义为String[] ls= {"Abc","abc","a"};.

我使用以下代码创建了一个密码

然后我运行了这个循环:

当完整的代码运行时,它会输出随机结果,尽管我指定了一个特定的键并且没有额外的随机性。

我得到的一个示例结果:

运行相同代码时的另一个示例:

我希望这两个结果都是一样的。请解释发生了什么以及我应该如何获得所需的结果。

完整代码: