Hallo, ich Ya.
Dieses Mal werde ich erklären, wie man ein Passwort mit Slackbot + Python implementiert. Im Einzelnen werde ich die folgenden zwei erklären.
-Wie man ein Passwort in Python generiert ・ Generieren Sie ein Passwort mit Slackbot + Python
Die Grundlagen von Slackbot mit Python finden Sie unter "Machen wir Slackbot mit Python".
Mit der Zufallsbibliothek von Python können Sie relativ einfach einen Prozess zur Kennwortgenerierung erstellen.
Beispiel für die Funktionsimplementierung
Argument 1: Anzahl der Stellen im Passwort (Standard 8)
Argument 2: Zeichenkettentyp(Standard: obere / untere / untere / Nummer)
Rückgabewert: Passwort
Gibt die Zeichenfolge für die in Argument 1 angegebene Anzahl von Ziffern zurück. Darüber hinaus können Sie in Argument 2 detaillierte Zeichenfolgen wie "Kleinbuchstaben und Zahlen", "Groß- und Kleinbuchstaben" und "Nur Großbuchstaben" angeben.
import random
def make_password(digit=8, word_type=None):
words = ''
password = ''
uppercase = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
lowercase = 'abcdefghijklmnopqrstuvwxyz'
number = '0123456789'
#Geben Sie alle an, wenn kein Argument vorhanden ist
if word_type is None:
word_type = ['uppercase', 'lowercase', 'number']
#Beurteilung der zu verwendenden Zeichen
if 'uppercase' in word_type:
words = words + uppercase
if 'lowercase' in word_type:
words = words + lowercase
if 'number' in word_type:
words = words + number
#Kennwortgenerierungsschleife
for i in range(0, digit):
#Da es als Array zurückgegeben wird, erhalten Sie den 0. Wert
password = password + random.sample(words, 1)[0]
return password
Weitere Informationen zum Implementieren von Kennwörtern finden Sie unter Implementieren der Kennwortgenerierung in Python.
Betten Sie den obigen Prozess in die Slackbot-Antwort ein.
Argument 1: Anzahl der Stellen im Passwort Argument 2: Kennwortzeichentyp
Geben Sie den Zeichentyp in der folgenden Form an.
Zahlen:Zahlenのみ
Große alphanumerische Zeichen: Großbuchstaben und Zahlen
Kleine alphanumerische Zeichen: niedrigere alphabetische Buchstaben und Zahlen
Alphabet:小文字と大文字のAlphabet
Großes Alphabet: Nur oberes Alphabet
Kleines Alphabet:Nur Kleinbuchstaben
Sonstiges: Alle alphanumerischen Zeichen
Wenn Sie mit message.send () auf den Kanal antworten, sehen andere Personen das Kennwort, was für die Sicherheit nicht sehr gut ist. Daher reagiert es auf Direktnachrichten.
Antworten auf Direktnachrichten können mithilfe der Slacker-Bibliothek erzielt werden.
Bei Verwendung von Direktnachrichten muss anstelle des Kanalnamens die Benutzer-ID angegeben werden. Die Benutzer-ID wird in der Nachricht gespeichert.
#Benutzer-ID abrufen
user_id = message.user['id']
#Passwort per Direktnachricht senden
slack = Slacker(slackbot_settings.API_TOKEN)
slack.chat.post_message(user_id, password, as_user=True)
Das Implementierungsbeispiel lautet wie folgt.
import random
from slackbot.bot import respond_to
from slacker import Slacker
import slackbot_settings
def make_password(digit=8, word_type=None):
words = ''
password = ''
uppercase = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
lowercase = 'abcdefghijklmnopqrstuvwxyz'
number = '0123456789'
#Geben Sie alle an, wenn kein Argument vorhanden ist
if word_type is None:
word_type = ['uppercase', 'lowercase', 'number']
#Beurteilung der zu verwendenden Zeichen
if 'uppercase' in word_type:
words = words + uppercase
if 'lowercase' in word_type:
words = words + lowercase
if 'number' in word_type:
words = words + number
#Kennwortgenerierungsschleife
for i in range(0, digit):
#Da es als Array zurückgegeben wird, erhalten Sie den 0. Wert
password = password + random.sample(words, 1)[0]
return password
@respond_to('^Passwortgenerierung s(.*)s(.*)$')
def response_pass(message, digit, param_type):
#Benutzer-ID abrufen
user_id = message.user['id']
#Trennung von Mustern
if param_type == 'Zahlen':
word_type = ['number']
elif param_type == 'Große alphanumerische Zeichen':
word_type = ['lowercase', 'number']
elif param_type == 'Kleine alphanumerische Zeichen':
word_type = ['lowercase', 'number']
elif param_type == 'Alphabet':
word_type = ['lowercase', 'uppercase']
elif param_type == 'Großes Alphabet':
word_type = ['uppercase']
elif param_type == 'Kleines Alphabet':
word_type = ['lowercase']
else:
word_type = ['uppercase', 'lowercase', 'number']
#Passwortgenerierung
password = make_password(int(digit), word_type)
#Passwort per Direktnachricht senden
slack = Slacker(slackbot_settings.API_TOKEN)
slack.chat.post_message(user_id, password, as_user=True)
message.send('Ich habe mein Passwort an eine direkte Nachricht gesendet!')
** ◆ Ausführungsergebnis **
Das Passwort wurde an die Direktnachricht gesendet.
Wie hier vorgestellt, kann Slackbot relativ einfach als Tool zur Kennwortgenerierung verwendet werden. Es ist praktisch, wenn Sie ein kleines Passwort erstellen möchten.
Es gibt auch Websites zur Kennwortgenerierung, aber der Vorteil, den von Menschen erstellte Generierungsseiten nicht haben, besteht darin, dass sie frei angepasst werden können. Dieses Mal wurde nur ein Muster aus alphanumerischen Zeichen angezeigt. Passen Sie es jedoch auf verschiedene Arten an, z. B. indem Sie mehrere Muster anzeigen und die Verwendung von Symbolen ermöglichen.
Die Verwendung von Slackbot wird auch im Blog zusammengefasst. Wie man Slackbot ~ Python ~ macht
Recommended Posts