Oracle 11g:执行完成并发出警告

时间:2016-02-23 07:26:52

标签: java oracle oracle11g java-stored-procedures

我使用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;

的问题

任何人都知道如何修复它?

感谢。

1 个答案:

答案 0 :(得分:0)

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

String base64String = DatatypeConverter.printBase64Binary(baos.toByteArray());
byte[] bytearray = DatatypeConverter.parseBase64Binary(base64String);