我想在http标头中发送签名。所以我有测试应用程序生成签名作为字节数组,我想打印它并插入请求标头,但不知道将字节数组转换为字符串,然后在我的过滤器中解析此输入字符串的最佳方法。
答案 0 :(得分:2)
在byte[]
标题中发送签名时,将String
转换为http
byte[] signatures = ...
String signatureAsString = BaseEncoding.base64().encode ( signatures );
在Servlet
过滤器
// ServletRequest request
HttpServletRequest req = (HttpServletRequest)request;
String signature = req.getHeader("SIGNATURE");
byte[] bytes = BaseEncoding.base64().decode ( signature );
我使用Google Guava BaseEncoding
进行编码/解码。您可以使用任何Base64
,Base16
编码API。