try { // Generate a key for the HMAC-MD5 keyed-hashing algorithm
KeyGenerator keyGen = KeyGenerator.getInstance("HmacMD5");
SecretKey key = keyGen.generateKey();
// Generate a key for the HMAC-SHA1 keyed-hashing algorithm
keyGen = KeyGenerator.getInstance("HmacSHA1");
key = keyGen.generateKey(); }
catch (java.security.NoSuchAlgorithmException e) { }
上面的代码将为我们提供使用 HMAC 消化消息的 key 。现在我想在java中实现HMAC逻辑,其中 key 将由用户给出。 有什么想法吗?
最佳答案
使用提供的用户 key 构造一个 KeySpec
(如果是字节数组,则为 SecretKeySpec
;如果是密码,则为 PBEKeySpec
),然后使用 SecretKeyFactory
将其转换为 SecretKey
。
关于java - hmac 消息加密但使用我们自己的 key ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3780771/