Я вот не сильно разбираюсь в шифровании. Если у кого то есть предположения, как мне помочь, говорите)) .
У меня есть устройство, которое подключается к телефону и читает информацию с кредитной карты — card reader
своего рода.
Так вот я получаю вот такой массив
44 55 66 77 00 00 21 37 af f9 67 f9 55 80 32 69 b8 d4 d1 39 62 9b c7 c2 1c 41 ae e9 16 64 39 c7 e6 e7 a6 c0 3d 2b e9 5e e2 71 3b e3 7a 05 bd 82 46 02 09 29 fe b7 5c 28 8d e6 6f a4 3d 72 4a 4c b2 d3 62 4e 2d 08 c7 0c f9 49 97 fe c3 0b b8 9a dd 56 f5 a2 3a 0f c6 f9 89 39 3a 1a 38 26 90 25 30 78 4a 81 6b 78 da 28 ad 41 da 48 4e 60 58 73 e5 c4 c1 45 af 35 1f 52 d7 74 f0 99 25 1f 01 05 31 30 30 30 00 00 00 00 00 00 00 00
который вот таким способом конвертирую с строку
String[] tmps = event.getValue().split(" ");
StringBuffer sbf = new StringBuffer();
for (String str : tmps) {
sbf.append((char) Integer.parseInt(str, 16));
sbf.append(" ");
}
final String data = sbf.toString().replaceAll(" ", "");
И в итоге получаю вот такое значение
DUfw����!7¯ùgùU2i¸ÔÑ9bÇÂA®éd9Çæç¦À=+é^âq;ãz½F )þ·\(æo¤=rJL²ÓbN-ÇùIþøÝVõ¢:Æù9:8&%0xJkxÚ(AÚHN`XsåÄÁE¯5R×tð%1000����������������
У меня есть вот такая проверка
// plain text of card data
if (data.toUpperCase().startsWith("B") && idx > 0 && data.indexOf("?") > 0) {
которая говорит о том, что можно получить чистые данные, если строка будет начинаться с B
, в другом случае
// encryption data of card data
else if (data.length() > 20 + 5 + 4) {
Это зашифрованые данные.
Так вот я не могу понять, как расшифровать их или как сделать так, чтоб они изначально не были зашифрованы.
Я пробовал в разных системах расшифровывать в 10, 2, 8 , но ничего не получилось.
Если что-то забыл, спрашивайте.
Похоже что DUfw
он же 44 55 66 77
- это дескриптор протокола, а 1000
в конце терминатор протокола. Все что между ними какой-то шифрованный поток, который вы не дешифруете, иначе я начну сомневаться в интеллекте разработчиков протокола обмена данными с картой :)
Не мучайтесь.
По-моему Ваш вопрос не имеет ответа, так как вполне возможно, что расшифровать данную строку невозможно. Если о типе шифрования нет никаких дополнительных данных, то ваш вопрос лишён смысла. Если система шифрования сделана качественно, то ваши преобразования в 2, 8, 10 СС, очевидно, ничего не дадут.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Как управлять Margins из кода элементами из Constraint Layout
Нужно перебрать все символы строки и если оный отсутствует в результирующей строке - добавить его в неёВот что у меня получилось:
Возможно ли иметь несколько различных фрагментов изображений в одном SVG, или даже просто имитировать такой эффект с использованием особых...