问题标签 [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 - 从现有 Cipher 中获取密码模式和填充方案
我有一个现有的密码,使用创建
我想知道自动选择了什么密码模式和填充方案。
返回
SunJCE Provider(实现 RSA、DES、Triple DES、AES、Blowfish、ARCFOUR、RC2、PBE、Diffie-Hellman、HMAC、ChaCha20)
这是当前提供者支持的。但是,似乎没有可用的信息是/正在使用什么方法进行加密。
java - 从java中的SQL解密数据
解密从 java 中的 SQL 获得的数据时遇到问题。
我想要做的是将加密信息发送到 SQL 数据库,然后从数据库中获取并解密它,但我得到了这个异常:
javax.crypto.BadPaddingException:给定最终块未正确填充。如果在解密期间使用了错误的密钥,则可能会出现此类问题。
可能是什么问题,我该如何解决?以及如何保存每个密码的密钥?
这是我的代码:
注意:不会发生此异常的唯一方法是在同一运行中加密和解密相同的密码(使用相同的密钥)。所以,我所做的是在解密时添加 id(要添加的密码),以便它可以看到相同的密钥。我知道这是解决这个问题的一种不方便的方法,但我是安全新手,我不知道如何解决它。
java - Rfc2898DeriveBytes 的 Java 等效解密抛出 Invalid AES Key Length
我有以下来自同事编写的 C# 应用程序的解密代码:
将等效的密码学拼凑在一起,我目前将 Java 等效为:
但它抛出了一个异常:
我不明白为什么密钥长度无效
kotlin - 从文件读取后解密加密的 JSON 字符串时出现 IllegalBlockSizeException
从文件中读取先前加密的 JSON 字符串后,我收到 IllegalBlockSizeException:javax.crypto.IllegalBlockSizeException error:1e00007b:Cipher functions:OPENSSL_internal:WRONG_FINAL_BLOCK_LENGTH
以下代码有效,当我不将字符串写入文件,而是直接解密加密字符串时:
我正在使用以下代码读取字符串并将其转换为ByteArray
using String.toByteArray()
:
文件是这样写的:
java - 尽管我提供了模块化和指数,Javax 加密似乎生成了一个随机的 RSA 公钥
我进行了以下导入:
我已经将变量 N 声明为 largeBigInteger
并且 done RSAPublicKeySpec pub=new RSAPublicKeySpec(N, new BigInteger("65537"));
。我也有一个字符串数组ls
。为了简单起见,ls 定义为String[] ls= {"Abc","abc","a"};
.
我使用以下代码创建了一个密码
然后我运行了这个循环:
当完整的代码运行时,它会输出随机结果,尽管我指定了一个特定的键并且没有额外的随机性。
我得到的一个示例结果:
运行相同代码时的另一个示例:
我希望这两个结果都是一样的。请解释发生了什么以及我应该如何获得所需的结果。
完整代码: