Як встановити ключ шифрування Base64 як середовище (систему) Змінна в Windows 10


0

У мене є програма, яка підключається до BigQuery, використовуючи декілька кредитів з файлу .json. Будучи, що це додаток буде в кінцевому підсумку перебувати на Pivotal Cloud Foundry і повинні бути встановлені як користувальницькі середовища Змінна Я використав шифрування base64 для кодування вмісту файлу .json в ключ base64.

Ідея полягає в тому, що я можу скористатися ключем як значення змінної середовища, щоб я міг привернути інформацію про з'єднання BigQuery API з файлу .json в одну змінну середовища - за допомогою ключа base64, замість того, щоб мати багато змінних ключів = значення пари це.

Примітка: Ключ base64 має 3165 символів - включаючи нові символи рядка.

Для посилання короткий фрагмент ключа base64:

nROdXlnWnVmb1k0UnVqTFJlcjgrckZJRlpZdVxuYUFsMklsWk9MUjd3cmRzL0RDZytYdGJGYUp4MzlRaWZHaEp6b2hyblNvbUpyY3ExL2d4aVFYYlplUUtCZ0hja1xua0hqL1M0Wkk0d0dWTzJreEN4QzduYnB1STVQRTRWczRHMjE0RkpldnhPR1hDQ3phOFB5bGJPbm5KUFdZZUJoT1xuV3IwMzduazd5eXpja0p6cE\
p0R0hlNkZLNFJNcHFIRHBmU0pMOE80T2YwWi9UYUZ3ZTM4bE9XbWc1Q2NLUC9XUVxuUjhYdlgzS25UZXRQUWxVeXJwK1BNVHNNdG4yVnBad1hMZDNJTExKYkFvR0JBS1FaODdVbEE1S0kwV3JqVnRic1xuaXJ6UkdDaGhVWE90SXVDT09zWlQyOXNpeFVoQmZka1JzTFpCcnB6VkVWektXeGhBY05lRERRbTJkVzBta09\
1elxuTkNVUlBpbGZYT0pLRkdNQ2lOdkIyZW5OMDVBK2ExdVdOWFFkclQzRG10OG5MS3FFYnp6VTNheXIweWVsc0tKeVxuNE9BVExMK3M5M29oRFV6WEhRZlVtbnNMXG4tLS0tLUVORCBQUklWQVRFIEtFWS0tLS0tXG4iLAogICJjbGllbnRfZW1haWwiOiAidG1wLWFkLWxvY2tvdXRAaW8xLWRhdGFsYWtlLXZpZXdz\

Я знаю, що це можна встановити на MacOS як системну змінну.

Я знаю, що обмеження максимальної довжини для системних змінних на Windows, але не зіткнулися з рішенням, щоб мати можливість встановити це, використовуючи "GOOGLE_JSON_B64" як ім'я змінної середовища, а потім ключ 3,165 як значення змінної середовища.

Хто-небудь має обхідний шлях?

Будь-яке розуміння буде дуже вдячно.


base64 не є шифруванням ... ключ, який ви частково розділили, не слід використовувати знову.
Attie

Відповіді:


0

У документації корпорації Майкрософт говориться, що змінна середовища у Windows обмежена лише 32 767 символами ( посилання ). Він не говорить про те, як створити дуже довгу змінну.

Проблема в тому, що інструменти, які Windows надає всім, мають свої межі:

The set command і Команда setx обрізати значення до 1023 символів.

Можна встановити змінні середовища безпосередньо в реєстрі на HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment, але використання regedit для цього не відбудеться, тому що введені рядки за допомогою клавіатури обмежено до 2047 символів.

Наскільки я можу бачити, єдиний варіант - написати маленький програма, яка оновлює безпосередньо реєстр. Використовується функція Windows API SetEnvironmentVariable , у документації якого йдеться:

Максимальний розмір визначеної користувачем змінної середовища становить 32,767 символів.

Можна сподіватися, що це, принаймні, правильно. Тут ви можете запустити максимальну довжину рядка, що приймається компілятор, але в програмі ви зможете побудувати такий довгий рядок кроком.


Чому вам потрібні нові символи рядка?
harrymc

Нові символи рядка є частиною ключа. Кодування base64 являє собою файл .json, який містить кілька рядків / компонентів. Це означає, що файл .json - це не одна пара ключ / значення, це кілька рядків кредитів, які включають обліковий запис служби, pword облікового запису служби, ідентифікатор закритого ключа, приватний ключ, клієнтську електронну пошту, ідентифікатор клієнта та багато іншого. Таким чином, кожен новий символ рядка в ключі представляє пару ключ / значення у файлі .json. Всі частини файлу / ключа json з новими символами рядка потрібні для того, щоб сказати, що це з'єднання з BigQuery.
user3216506

Коли я згорнув ключ, видаливши всі білі пробіли і повторно запустив команду, я помітив, що він міг зберігати більше ключа, але не все. Здається, вона досягла межі в 1023 символи в цілому.
user3216506

Ця область є великим безладом - я переписав свою відповідь.
harrymc
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.