MDM JavaPNS - конвертировать токен устройства в значение Hexa.(32-байтовое двоичное значение до 64-значного шестнадцатеричного значения) - PullRequest
2 голосов
/ 03 ноября 2011

Я работаю над iOS MDM.Во время регистрации я получил deviceToken, PushMagic и unlockToken.Планируйте использовать javapns .Ожидается 64 шестнадцатеричное значение.

Это мой оригинальный формат токена устройства.Это двоичное значение 32 байта и закодированное в base64.

54CC9f18PLXag / RgOCtc30o7lC3beG6NruUSE0 / vCC0 =

Нужно ли преобразовывать вышеуказанный формат для отправки уведомления в APN через javapns.Если да, то как преобразовать кодированный токен устройства в шестнадцатеричное 64-символьное число.

Любая помощь будет оценена.

Заранее спасибо.

С уважением, Vinothkumar.R

Ответы [ 3 ]

2 голосов
/ 23 января 2014

Java, вы попробуйте:

String token = "j9KAZ7nka3wwAfjCpONXrpAzxRP1vPMBl/x5CTCfKYI=";
byte[] bytes = Base64.decodeBase64(token.getBytes());
System.out.println("DeviceToken: " + Hex.encodeHexString(bytes));
2 голосов
/ 12 ноября 2011

C # ответ:

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

затем отправьте байт бинарного устройства device [] в apple после большой длины байтов.

0 голосов
/ 09 января 2019

В NodeJs используйте

    var originalDeviceToken = '54CC9f18PLXag/RgOCtc30o7lC3beG6NruUSE0/vCC0=';
    var b = new Buffer(originalDeviceToken, 'base64')
    var hexToken = b.toString('hex');
...