Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Java Новый топик    Ответить
 Шифрование/дешифрование строки  [new]
VonoriM
Member

Откуда:
Сообщений: 2
Здавствуйте,
У меня есть бот для телеграма, код которого лежит в открытом доступе на гитхабе. Проблема в том, что в коде есть строчка, которая содержит токен, с помощью которого в принципе любой может получить этого бота. Сам бот задеплоен на heroku и связан с гитхабом.
Мне хотелось бы как-то зашифровать эту строчку.
Сейчас же это выглядит примерно так:
public class Bot extends TelegramLongPollingBot {

    private static final String BOT_USERNAME = "...";

    private static final String BOT_TOKEN = "Тут набор цифр и букв";

    @Override
    public void onUpdateReceived(Update update) {
        ...
    }

    @Override
    public String getBotUsername() {
        return BOT_USERNAME;
    }

    @Override
    public String getBotToken() {
        return BOT_TOKEN;
    }

}

Сама строчка с исходным токеном в коде должна вообще отсутствовать. Т.е. как я понимаю, мне нужен алгоритм, через который в условном тестовом классе "пройдет" токен, я получу какое-то зашифрованное значение. Далее написать алгоритм для дешифрования, чтобы получался исходный токен. Итого: в коде бота должен быть дешифовальщик. В методе getBotToken() я использую зашифрованное значение, а далее в отдельном методе дешифрую его и получаю исходный токен.

Или можно обставить это по-другому?

Сообщение было отредактировано: 9 май 20, 20:32
9 май 20, 20:32    [22129950]     Ответить | Цитировать Сообщить модератору
 Re: Шифрование/дешифрование строки  [new]
Valentin Kolesnikov
Member

Откуда:
Сообщений: 3281
VonoriM
Здавствуйте,
У меня есть бот для телеграма, код которого лежит в открытом доступе на гитхабе. Проблема в том, что в коде есть строчка, которая содержит токен, с помощью которого в принципе любой может получить этого бота. Сам бот задеплоен на heroku и связан с гитхабом.
Мне хотелось бы как-то зашифровать эту строчку.
Сейчас же это выглядит примерно так:
public class Bot extends TelegramLongPollingBot {

    private static final String BOT_USERNAME = "...";

    private static final String BOT_TOKEN = "Тут набор цифр и букв";

    @Override
    public void onUpdateReceived(Update update) {
        ...
    }

    @Override
    public String getBotUsername() {
        return BOT_USERNAME;
    }

    @Override
    public String getBotToken() {
        return BOT_TOKEN;
    }

}

Сама строчка с исходным токеном в коде должна вообще отсутствовать. Т.е. как я понимаю, мне нужен алгоритм, через который в условном тестовом классе "пройдет" токен, я получу какое-то зашифрованное значение. Далее написать алгоритм для дешифрования, чтобы получался исходный токен. Итого: в коде бота должен быть дешифовальщик. В методе getBotToken() я использую зашифрованное значение, а далее в отдельном методе дешифрую его и получаю исходный токен.

Или можно обставить это по-другому?


Храните токен в переменных heroku. Или передавайте из командной строки при запуске приложения.

Хорошего вам вечера!
9 май 20, 20:40    [22129953]     Ответить | Цитировать Сообщить модератору
 Re: Шифрование/дешифрование строки  [new]
VonoriM
Member

Откуда:
Сообщений: 2
Valentin Kolesnikov

Храните токен в переменных heroku.

А можно тут поподробнее?
9 май 20, 20:45    [22129956]     Ответить | Цитировать Сообщить модератору
 Re: Шифрование/дешифрование строки  [new]
fixxer
Member

Откуда:
Сообщений: 791
VonoriM
Valentin Kolesnikov

Храните токен в переменных heroku.

А можно тут поподробнее?


Подробнее в документации Что за люди, даже в гугле heroku variables набрать не способны.
10 май 20, 14:52    [22130148]     Ответить | Цитировать Сообщить модератору
Все форумы / Java Ответить