Использование Python 2.7.У меня есть два файла Python.Один файл шифрует пароль, а другой расшифровывает пароль и запускает скрипт, который будет использовать ssh на нескольких хостах.Проблема заключается в том, как пишется мой код Pynacl, он запрашивает пароль для использования их ключа, и я хочу, чтобы он работал как cronjob.Какой самый простой способ сделать это с pynacl?
Я предоставил мой подробный сценарий того, что я попробовал ниже.
#!/usr/bin/env python2.7
# -*- coding: utf-8 -*-
import nacl.secret
import nacl.utils
import base64
from pyblake2 import blake2b
import getpass
print "### ENCRYPTION"
# Fill password input into a blake2b key
# and use 32 byte as Salsa20 key
key = blake2b(digest_size=16)
key.update(getpass.getpass("Password to lock key:"))
key = key.hexdigest()
print "key: %s" % key
# This is your safe, you can use it to encrypt or decrypt messages
box = nacl.secret.SecretBox(key)
# This is our message to send, it must be a bytestring as SecretBox will
# treat is as just a binary blob of data.
msg = getpass.getpass("LDAP Password is:")
#msg = b"whohooäööppöööo"
print "LDAP Password to be sent: %s" % msg
nonce = nacl.utils.random(nacl.secret.SecretBox.NONCE_SIZE)
print "nonce: %s" % nacl.encoding.HexEncoder.encode(nonce)
encrypted = box.encrypt(msg, nonce, encoder=nacl.encoding.HexEncoder)
print "cipher: %s " % encrypted
print "### DECRYPTION"
key = blake2b(digest_size=16)
key.update(getpass.getpass("Password to retrieve key:"))
key = key.hexdigest()
nonce = None
print "nonce: %s" % nonce
print "key: %s" % key
box = nacl.secret.SecretBox(key)
msg = encrypted
print "msg: %s" % msg
ldappassword = box.decrypt(ciphertext=msg,encoder=nacl.encoding.HexEncoder)
print "ldap password is: %s" % ldappassword
Я ожидаю, что смогу расшифровать без вводапароль, но я не хочу его жестко закодировать, чтобы хакер смог его увидеть.