banner
andrewji8

Being towards death

Heed not to the tree-rustling and leaf-lashing rain, Why not stroll along, whistle and sing under its rein. Lighter and better suited than horses are straw sandals and a bamboo staff, Who's afraid? A palm-leaf plaited cape provides enough to misty weather in life sustain. A thorny spring breeze sobers up the spirit, I feel a slight chill, The setting sun over the mountain offers greetings still. Looking back over the bleak passage survived, The return in time Shall not be affected by windswept rain or shine.
telegram
twitter
github

驚くべきPython自動化スクリプト、あなたは試すべきです(4)

7、パスワードマネージャー この自動化スクリプトは、すべてのパスワードを管理し、それらを安全に保ち、あなたしかアクセスできないようにし、さまざまな暗号化技術を使用します。

# 必要なライブラリをインポート
import streamlit as st
import csv
from cryptography.fernet import Fernet
from cryptography.fernet import InvalidToken

# カスタム暗号化キー(ハードコーディング)
CUSTOM_ENCRYPTION_KEY = b'u7wGgNdDFefqpr_kGxb8wJf6XRVsRwvb3QgITsD5Ft4='  
# このスクリプトを共有プラットフォームで使用する予定がある場合は、このキーを別の安全なファイルに保存してください。

# パスワードを暗号化するための関数
def encrypt_password(password):
    cipher_suite = Fernet(CUSTOM_ENCRYPTION_KEY)
    encrypted_password = cipher_suite.encrypt(password.encode())  # パスワードをエンコードして暗号化
    return encrypted_password

# パスワードを復号化するための関数
def decrypt_password(encrypted_password):
    if isinstance(encrypted_password, bytes):  # 暗号化されたパスワードがbytes型かどうかを確認
        try:
            cipher_suite = Fernet(CUSTOM_ENCRYPTION_KEY)
            decrypted_password = cipher_suite.decrypt(encrypted_password)  # 復号化
            return decrypted_password.decode()  # bytesを文字列にデコード
        except InvalidToken:
            return "無効なトークン"  # キーが正しくない場合、無効なトークン情報を返す
    else:
        return None

# ウェブサイト名とパスワードをCSVファイルに保存するための関数
def save_credentials(website_name, password):
    encrypted_password = encrypt_password(password)  # まずパスワードを暗号化
    with open('credentials.csv', 'a', newline='') as csvfile:
        writer = csv.writer(csvfile)
        writer.writerow([website_name, encrypted_password.decode()])  # 暗号化されたパスワードを文字列にデコードして保存

# CSVファイルからパスワードを取得するための関数
def retrieve_password(website_name):
    with open('credentials.csv', 'r') as csvfile:
        reader = csv.reader(csvfile)
        for row in reader:
            if row[0] == website_name:
                encrypted_password = row[1].encode()  # 再びbytesにエンコード
                return encrypted_password
    return None

# Streamlitを使用してWebインターフェースを作成
st.title("パスワードマネージャー")

# ウェブサイト名とパスワードを入力するための入力フィールド
website_name = st.text_input("ウェブサイト名を入力:")
password = st.text_input("パスワードを入力:", type="password")

# ウェブサイト名とパスワードを保存するための保存ボタン
if st.button("保存"):
    if website_name and password:
        save_credentials(website_name, password)
        st.success("ウェブサイト名とパスワードが正常に保存されました。")
    else:
        st.error("すべてのフィールドを入力してください。")

# パスワードを取得するためのチェックボックス
if st.checkbox("パスワードを取得"):
    website_name = st.selectbox("ウェブサイト名を選択:", options=[""] + [row[0] for row in csv.reader(open('credentials.csv', 'r'))])
    key = st.text_input("あなたの暗号化キーを入力:", type="password")
    if st.button("パスワードを取得"):
        if key == str(CUSTOM_ENCRYPTION_KEY.decode()):
            if website_name:
                encrypted_password = retrieve_password(website_name)
                if encrypted_password:
                    decrypted_password = decrypt_password(encrypted_password)
                    st.success(f"ウェブサイト**{website_name}** のパスワード -> **{decrypted_password}**")
                else:
                    st.error("データベースにパスワードが見つかりません。")
        elif key == "":
            pass
        else:
            st.error("無効な暗号化キー!")

image

8、バルクメール送信ツール この自動化スクリプトは、Gmail の SMTP サーバーを利用してバルク電子メールを送信し、数分で完了し、完全にカスタマイズして制御できます。

# メール送信のためにsmtplibライブラリをインポート
import smtplib
# 安全な接続を確立するためにsslライブラリをインポート
import ssl

# SMTPサーバーの詳細情報
smtp_server = 'smtp.gmail.com'  # 使用するGmailのSMTPサーバーアドレス
smtp_port = 465  # 使用するポート番号、GmailのSSLポートは465

# 送信者と受信者の詳細情報
from_address = 'yuhualong Shop'  # 送信者のアドレスまたは名前
to_address = ['', '']  # 受信者リスト、複数の受信メールアドレスを追加できます

# 認証情報
username = ''  # 送信者のメールアカウント
password = ''  # 送信者のメールパスワード

# メール内容の詳細情報
subject = '🎉 独占オファー!次回の購入で10%の割引を受けられます'
body = '''\
親愛なる顧客へ、

私たちの大切なお客様として、感謝の気持ちを込めて、次回の購入に対して独占的な割引を提供します。チェックアウト時に以下の割引コードを使用すると、注文の10%割引を受けることができます:

割引コード:DISCOUNT888

ファッションアイテム、トレンディなアクセサリー、高品質な製品を探しているなら、今が買い物をして節約する絶好の機会です!最新のコレクションを探索し、自分自身に特別なものを購入してください。お急ぎください!このオファーは期間限定です。お気に入りのアイテムを節約する機会をお見逃しなく。

今すぐショッピング:https://xyz.com

yuhualong Shopを選んでいただきありがとうございます。近いうちに再びお客様にサービスを提供できることを楽しみにしています!

最良の祝福を込めて、
yuhualong Shop
'''

# SSL/TLSのコンテキスト環境を作成
context = ssl.create_default_context()

# SMTPサーバーを介してSSL/TLSで接続
with smtplib.SMTP_SSL(smtp_server, smtp_port, context=context) as server:
    # デバッグレベルを有効にし、サーバーの応答情報を印刷
    server.set_debuglevel(1)
    # SMTPサーバーにログイン
    server.login(username, password)
    # 電子メールメッセージを作成
    message = f'From: {from_address}\r\nSubject: {subject}\r\nTo: {", ".join(to_address)}\r\n\r\n{body}'
    message = message.encode()  # メッセージをバイト形式に変換
    # メールを送信
    server.sendmail(from_address, to_address, message)
読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。