【发布时间】:2011-07-18 20:55:32
【问题描述】:
我使用以下代码将密钥转换为字节
SecretKey key = KeyGenerator.getInstance("DES").generateKey();
byte[] bkey=key.getEncoded();
现在我如何从bkey 获取密钥?我试过了:
SecretKeySpec secretkey = new SecretKeySpec(bkey,"DES");
SecretKeyFactory sfkey = SecretKeyFactory.getInstance("DES");
SecretKey skey = sfkey.generateSecret(secretkey);
我收到以下错误:
Error during Exception java.security.spec.InvalidKeySpecException: Inappropriate key specification
【问题讨论】:
-
为什么需要这样做?只需将
key传递给您的密码即可。 -
@Bruno Ya 但我只是在学习 DES 的工作原理
-
@BrunoRohée:有些人只是希望他们的问题得到回答,而不是居高临下的精英回应。这样的评论让没有经验的用户不敢发表他们的问题;我会知道,因为我自己(现在仍然)处于那种情况......
-
@araisbec 这不是一个答案,而是一个评论,有些人确实很欣赏在他们的游荡将他们直接引向深渊时被提早阻止。在这个网站上,人们使用非常不安全的加密货币的例子比比皆是,因为没有人足够早地告诉他们。
-
@BrunoRohée,当您说明文时,我假设您正在谈论 PKCS 容器。以明文形式保存的密钥是否小于其以字节格式保存的大小?