我在iOS MDM上工作。在注册期间,我得到了deviceToken, PushMagic和unlockToken。计划使用javapns。它期望64十六进制值。
这是我的原始设备令牌格式。32字节二进制值,base64编码。
54 cc9f18plxag/RgOCtc30o7lC3beG6NruUSE0 vCC0 =
我是否需要转换上述格式以通过javapns向apn发送通知?如果是,如何将已编码的设备标记转换为64个十六进制字符。
任何帮助都将不胜感激。
Thanks in Advance.
问候,Vinothkumar。R
c#答案:
byte[] deviceToken =转换。FromBase64String("54CC9f18PLXag/RgOCtc30o7lC3beG6NruUSE0/vCC0=");
然后将deviceToken二进制字节[]发送给apple,在大端字节长度之后。
Java,你试试:
String token = "j9KAZ7nka3wwAfjCpONXrpAzxRP1vPMBl/x5CTCfKYI=";
byte[] bytes = Base64.decodeBase64(token.getBytes());
System.out.println("DeviceToken: " + Hex.encodeHexString(bytes));
在NodeJs中使用
var originalDeviceToken = '54CC9f18PLXag/RgOCtc30o7lC3beG6NruUSE0/vCC0=';
var b = new Buffer(originalDeviceToken, 'base64')
var hexToken = b.toString('hex');