MDM JavaPNS -将设备令牌转换为十六进制值.(32字节二进制值到64字符十六进制值)



我在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');

最新更新