Зашифруйте и расшифруйте пароль на разных компьютерах - PullRequest
0 голосов
/ 27 мая 2019

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

echo PasswordToEncrypt | openssl enc -aes-256-cbc -a -salt -pass pass:PasswordForEncryptAndDecrypt

Теперь я получил свой зашифрованный пароль и попытался расшифровать его, и он работает нормально. Но после того, как я попытался расшифровать пароль на другом компьютере, он больше не может расшифровать его. Кроме того, если я снова зашифрую пароль, он будет отличаться от зашифрованного пароля на первом компьютере.

Мой вопрос: есть ли какой-нибудь метод для шифрования и дешифрования пароля с помощью openssl с одинаковым результатом на разных компьютерах? Чтобы я мог зашифровать пароль на Comouter A и расшифровать его на компьютере B?

1 Ответ

1 голос
/ 27 мая 2019

Если вы зашифруете файл и расшифруете его на другом компьютере, дешифрованные данные будут такими же. В противном случае шифрование становится бесполезным. Я думаю, что вы видите другой вывод, потому что вы забыли указать -md.

Для шифрования:

$ echo TEST | openssl enc -aes-256-cbc -md md5 -salt -pass pass:my_password > enc.bin

И расшифровывать:

$ cat enc.bin | openssl enc -d -aes-256-cbc  -md md5 -pass pass:my_password
TEST

Просто чтобы дать вам возможность использовать ключи:

$ openssl genrsa -out key.priv 4096
$ openssl rsa -in key.priv -pubout -out key.pub
$ echo TEST | openssl enc -aes-256-cbc -md sha256 -salt -pass file:key.pub > tmp.bin
$ cat tmp.bin | openssl enc -d -aes-256-cbc -md sha256 -pass file:key.pub > tmp.txt
TEST
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...