- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
作为加密和保存数据的一部分,我们使用 AES 算法和 openssl 生成了 key 。
openssl enc -aes-256-cbc -P -nosalt
Openssl 已生成 KEY 和 IV 值,这些值存储在纯文本文件中。由于将 key 存储在普通文档中是一种不安全的标准,因此考虑将其移至 Keystore。
因此,我们通过执行以下命令使用 keytool 生成了一个 Keystore。
keytool -genseckey -keyalg AES -alias aesstore -keysize 256 -keypass changeit -storetype jceks -keystore hello.jceks -storepass changeit
此 keystore 包含一个随 secret 钥。所以,我们想将我们的 KEY 和 IV 值移动到 keystore ,以便我们可以从那里获取并使用它们来加密数据。我在下面找到了用于将自定义 KEY 值存储到 Keystore 的链接,但不是 IV 值。
http://java.dzone.com/articles/secret-key-import-java
因此,如果有人对如何将 KEY 和 IV 值存储到 keystore 有任何想法,请分享。
此外,我们正在寻找一种方法,我们可以从命令行本身将自定义 key 传递给 keystore 。
提前致谢。
最佳答案
每次您在操作模式下使用 key 时,IV 都应该是唯一的。因此,用 key 存储 IV 没有多大意义。如果必须,您可以使用哈希函数从 key 中提取用于 CBC 的 IV,但是您应该只使用 key 和生成的 IV 加密一次。
通常会生成一个随机 IV 并将其作为密文的前缀。当使用密码时,它们通常与随机盐配对。如果为每个加密操作生成一个新的随机盐,那么指定一个完全随机的 IV 将是虚假的。在这种情况下,IV 可能来自盐。在这种情况下,salt 通常作为密文的前缀。
因此,您正在寻找一种存储持久 IV 的选项,而 IV 已定义为针对每次加密而更改。这就是为什么您无法在 key 存储实现中找到解决方案的原因。
关于java - Keystore -- 从命令行自定义 SecretKey 进入 Keystore,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26114325/
我使用以下代码将 key 转换为字节 SecretKey key = KeyGenerator.getInstance("DES").generateKey(); byte[] bkey=key.ge
我需要在 Java 中生成一个随机的 SecretKey,我将能够在未来的某个时候重新生成它。这个想法是这个 key 对于创建它的机器是唯一的并且不存储在任何地方。我正在尝试这样的事情: KeyGen
我希望能够将 DES SecretKey 保存到文件中,以便您稍后可以导入和使用它。看了好几条路线,好像都有些啰嗦,有没有简洁明了的方法呢? 最佳答案 在 Java 中将 SecretKey 保存到文
我想把String转成secretKey public void generateCode(String keyStr){ KeyGenerator kgen = KeyGenerator.getIn
我遇到了一个问题,当用户向他们的 Android 设备添加新指纹时,我想使 SecretKey 无效。我可以生成 key ,毫无问题地拉出生物识别提示。当我添加新指纹时, key 不会引发异常..它仍
我正在尝试将 key 保存在 XML 文件中,以便稍后解密加密字符串,该软件可以在“Encrypt()”方法中加密并返回我,但在尝试使用“Decrypt( )”方法 代码 private stati
我目前使用 DES 作为加密/解密数据的实践方法(我知道这不是行业惯例!)并且我在解密时遇到错误(这里是输出): java.security.InvalidKeyException: Paramete
我试图用我的公钥加密一个secretKey,然后用私钥在其他地方解密它。我可以很好地加密和解密,但是当我这样做时,我得到了一个完全不同的 key 。 这是创建公钥/私钥对的代码 public stat
我试图简单地加密一些文本,将其保存在文本文件中,然后加载/解密它。 使用Java网站上的教程,我一直使用的代码: public class MainClass { public static vo
我正在编写一个函数,使用 SecretKeyFactory 根据密码生成 key (字节)。我想在不再需要时销毁 SecretKey 实例,但它会引发异常。 try { byte[] salt
我正在尝试在应用程序中的任何地方拥有 secret (字符串),保存为!所以我想出了这个想法,使用keyStore来存储 key ,只用它来加密和解密我的 secret 。以下是我如何保存(加密)我的
在EC2上运行时,accesskey和secret key可以通过curl命令获取 curl http://169.254.169.254/latest/meta-data/iam/security-
我想问你,将 LinkedIn ConsumerKey 和 ConsumerSecret 像常量一样保存在我的代码中是否安全? 如果不安全,使用 LinkedIn 进行身份验证的正确方法是什么? 最佳
我执行以下操作来根据 KeyStore 中的用户密码存储 SecretKey: // load KeyStore static byte[] salt = // for learning purpos
作为加密和保存数据的一部分,我们使用 AES 算法和 openssl 生成了 key 。 openssl enc -aes-256-cbc -P -nosalt Openssl 已生成 KEY 和 I
我正在尝试在 C# 应用程序中复制 Java 库中的加密逻辑。 Java 包含两种方法,我已设法在 C# 中复制它们。对于任何数据集,我在每个程序中都得到相同的结果。 createKey(byte d
我最近开始在设备中看到此错误。 java.security.InvalidKeyException: Only SecretKey is supported at com.androi
我目前正在研究 Java 中的 key 处理类,特别是使用 KeyStore。我正在尝试使用 AES 实例生成一个 SecretKey,然后使用 setEntry() 方法将它放在 KeyStore
我有一个使用 S3 存储桶的 Spring Boot 应用程序。根据亚马逊(https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/ja
我目前正在 Java 中开发一个 key 处理类,特别是使用 KeyStore。我正在尝试使用 AES 实例生成 SecretKey,然后使用 setEntry() 方法将其放入 KeyStore 中
我是一名优秀的程序员,十分优秀!