0

我正在使用以下代码编译源代码oracle sql developer

import javax.crypto.Mac;
import javax.crypto.spec.SecretKeySpec;
import org.apache.commons.codec.binary.Base64;

public class ApiSecurityExample {
  public static void main(String[] args) {
    try {
     String secret = "secret";
     String message = "Message";

     Mac sha256_HMAC = Mac.getInstance("HmacSHA256");
     SecretKeySpec secret_key = new SecretKeySpec(secret.getBytes(), "HmacSHA256");
     sha256_HMAC.init(secret_key);

     String hash = Base64.encodeBase64String(sha256_HMAC.doFinal(message.getBytes()));
     System.out.println(hash);
    }
    catch (Exception e){
     System.out.println("Error");
    }
   }
}

然后出现警告:

JAVA SOURCE compiled
Warning: execution completed with warning

可能是问题import org.apache.commons.codec.binary.Base64;

任何人都知道如何解决它?

谢谢。

4

1 回答 1

0

更好地使用DatatypeConverter,避免出现警告。

String base64String = DatatypeConverter.printBase64Binary(baos.toByteArray());
byte[] bytearray = DatatypeConverter.parseBase64Binary(base64String);
于 2016-02-23T07:38:02.533 回答