2

我正在开发 iOS MDM。在注册期间,我得到了 deviceToken、PushMagic 和 unlockToken。计划使用javapns。它期望 64 十六进制值。

这是我原来的设备令牌格式。它是 32 字节二进制值和 base64 编码。

54CC9f18PLXag/RgOCtc30o7lC3beG6NruUSE0/vCC0=

我是否需要转换上述格式才能通过 javapns 向 APNs 发送通知。如果是这样,如何将编码的设备令牌转换为 64 字符十六进制。

任何帮助将不胜感激。

提前致谢。

问候, Vinothkumar.R

4

3 回答 3

2

Java,你试试:

String token = "j9KAZ7nka3wwAfjCpONXrpAzxRP1vPMBl/x5CTCfKYI=";
byte[] bytes = Base64.decodeBase64(token.getBytes());
System.out.println("DeviceToken: " + Hex.encodeHexString(bytes));
于 2014-01-23T15:33:23.953 回答
2

C# 答案:

byte[] deviceToken = Convert.FromBase64String("54CC9f18PLXag/RgOCtc30o7lC3beG6NruUSE0/vCC0=");

然后在大端长度后将 deviceToken 二进制字节 [] 发送到苹果。

于 2011-11-11T21:52:52.137 回答
0

在 NodeJs 中使用

    var originalDeviceToken = '54CC9f18PLXag/RgOCtc30o7lC3beG6NruUSE0/vCC0=';
    var b = new Buffer(originalDeviceToken, 'base64')
    var hexToken = b.toString('hex');
于 2019-01-09T14:14:08.297 回答