Кодирование файла лицензии для конфиденциальности - PullRequest
0 голосов
/ 27 мая 2010

Мы используем цифровые подписи XML для подписи и проверки наших лицензионных ключей. Подписание работает отлично и работает гладко. Файл лицензии XML содержит несколько (незашифрованных) подробностей о лицензии, а также двоичную подпись.

Мы хотели бы закодировать (я не говорю, шифровать) эти данные в виде открытого текста (срок действия лицензии, имя пользователя и т. Д. И т. Д.), Чтобы они не были сразу видны посторонним глазам. Есть ли стандарт (например, база 64 или что-то еще), который люди используют в этой ситуации? Он не должен быть безопасным или особенно умным, просто чтобы скрыть информацию в Блокноте.

РЕДАКТИРОВАТЬ: Мы используем .NET / C #.

Спасибо:)

Ответы [ 4 ]

1 голос
/ 28 мая 2010

Просто используйте XOR. XOR - хорошая вещь (при правильном использовании), используемая даже в криптографических алгоритмах, таких как RC4. Используя XOR, я имею в виду взятие некоторой текстовой строки, которая останется постоянной в вашем приложении, затем XOR 1-го байта вашего файла с 1-м байтом этой строки, затем xor 2-го байта вашего файла со 2-м байтом этой строки и так далее. Затем начните с начала строки. Именно так работают потоковые шифры. Строка, найденная в вашем коде (в противоположность просто некоторому постоянному числу), сделает работу хакера чуть более сложной.

0 голосов
/ 28 мая 2010

Если вы просто хотите запутать детали, то я думаю, что подойдет Base64 или эквивалентный механизм кодирования.

Я не знаком с какими-либо стандартами, касающимися именно того, что вы пытаетесь сделать, поскольку большинство людей утверждают, что то, что вы пытаетесь сделать, на самом деле ничего не дает (поскольку оно относится к сфере «безопасность через мрак»).

0 голосов
/ 28 мая 2010

Как пользователь лицензионных ключей, я бы рекомендовал против этой путаницы. Часто при проверке лицензии очень полезно определять детали, на которые вы ссылаетесь. Если я могу получить их из описания XML, это может сэкономить значительное количество времени. Это также помогает обнаружить неправильно развернутые лицензии. Если я найду ключ, выданный example.com, а не организацию, в которой я работаю, я знаю, что нам нужно решить эту проблему. Если он выдан ZXhhbXBsZS5jb20K (example.com в base64), я не буду дважды думать об этом. Я также должен убедиться, что лицензии продлены вовремя. Когда я продляю лицензию с истечением MjAxMC0wNi0wMQo =?

0 голосов
/ 28 мая 2010

Простое шестнадцатеричное кодирование выполнит это. Это также легко расшифровать. Если вы упоминаете, на каком языке или платформе вы пишете код, кто-то может дать более конкретную рекомендацию.

...