【发布时间】:2009-10-05 11:06:13
【问题描述】:
我需要在 Java 中生成一个随机的 SecretKey,我将能够在将来的某个时间重新生成它。这个想法是这个密钥对于创建它的机器是唯一的,并且不存储在任何地方。我正在尝试这样的事情:
KeyGenerator keyGen = KeyGenerator.getInstance("DESede");
String hostname = InetAddress.getLocalHost().getHostName();
SecureRandom random = new SecureRandom(hostname.getBytes());
keyGen.init(random);
secretKey = keyGen.generateKey();
显然,这不起作用,因为设置 SecureRandom 的种子并不像我想象的那样起作用,而且我每次都会得到一个不同的 SecretKey。也许我正在尝试的东西永远不会奏效(我知道这看起来很奇怪……)但是如果有办法,如果有人能告诉我那是什么,我会非常感激!
【问题讨论】:
-
你想做什么?钥匙有什么用?你能解释一下你的整个环境吗?可能有更好的方法来解决这个问题。