hmac-md5 login
Hej EksperterJeg er ved at lave en klient der bruger HMAC-MD5 authentication ved login...
Man får "secretKey" tilsendt i hexadecimale tal
og det forventes at HMAC-MD5 resultatet bliver retuneret som et hexadecimalt tal
jeg har så fundet noget kode til at genere denne HMAC-MD5 key, men der bruger de en KeyGenerator.
Hvordan bruger jeg den key jeg får når jeg "challenger" serveren i stedet for den key de laver i den her kode?
-------------
try {
// Generate a key for the HMAC-MD5 keyed-hashing algorithm; see RFC 2104
// In practice, you would save this key.
KeyGenerator keyGen = KeyGenerator.getInstance("HmacMD5");
SecretKey key = keyGen.generateKey();
// Create a MAC object using HMAC-MD5 and initialize with key
Mac mac = Mac.getInstance(key.getAlgorithm());
mac.init(key);
String str = "This message will be digested";
// Encode the string into bytes using utf-8 and digest it
byte[] utf8 = str.getBytes("UTF8");
byte[] digest = mac.doFinal(utf8);
// If desired, convert the digest into a string
String digestB64 = new sun.misc.BASE64Encoder().encode(digest);
} catch (InvalidKeyException e) {
} catch (NoSuchAlgorithmException e) {
} catch (UnsupportedEncodingException e) {
}