首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

有关SecretKey key = KeyGenerator.getInstance("DES")密钥的保存!该如何解决

2012-04-24 
有关SecretKey key KeyGenerator.getInstance(DES)密钥的保存!!现在 SecretKey key KeyGenerator.ge

有关SecretKey key = KeyGenerator.getInstance("DES")密钥的保存!!
现在 SecretKey key = KeyGenerator.getInstance("DES").generateKey()获得密钥,我想把密钥写入数据库或文件
  下次读出来后,怎么把读出来的密钥(string)转换为key(SecretKey )!!!

[解决办法]
有点类似反向解析啊,貌似DES,SHA加密都不能反向解析的吧
[解决办法]
密钥怎么会是 String 呢,应该是 byte[]

使用 byte[] bys = key.getEncoded(); 可以获得密钥的二进制表示数据,将这数据序列化到文件或者其他什么地方。

要还原为 Key 的话,从文件或者其他什么地方读取 byte[] 然后使用下面两种方法之一还原密钥:

Key key = new SecretKeySpec(bys, "DES");

或者:

KeySpec keySpec = new DESKeySpec(bys);
SecretKeyFactory factory = SecretKeyFactory.getInstance("DES");
Key key = factory.generateSecret(keySpec);

热点排行