用python写一个加密脚本
时间: 2023-11-28 11:03:59 浏览: 42
好的,这里提供一个简单的加密脚本示例,使用Python的cryptography库实现AES加密算法:
```python
from cryptography.fernet import Fernet
# 生成密钥
key = Fernet.generate_key()
f = Fernet(key)
# 原始消息
message = b"Hello World!"
# 加密消息
encrypted_message = f.encrypt(message)
# 解密消息
decrypted_message = f.decrypt(encrypted_message)
print("原始消息:", message)
print("加密消息:", encrypted_message)
print("解密消息:", decrypted_message)
```
运行该脚本后,将会输出原始消息、加密消息和解密消息。其中加密消息是二进制形式的,可以将其转换为字符串进行传输。请注意,密钥应该妥善保管,不应该与加密内容一起传输。
相关问题
用python写一个加密邮件定时发送脚本
好的,下面是一个简单的加密邮件定时发送脚本:
```python
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.mime.application import MIMEApplication
from cryptography.fernet import Fernet
from datetime import datetime, timedelta
import time
# 加密密钥,可以使用 Fernet.generate_key() 生成
key = b'your_key_here'
# 发件人和收件人信息
sender_email = 'sender@example.com'
receiver_email = 'receiver@example.com'
# 邮件主题和正文
subject = 'Test Email'
body = 'This is a test email.'
# 创建加密器对象
cipher = Fernet(key)
# 加密邮件主题和正文
encrypted_subject = cipher.encrypt(subject.encode()).decode()
encrypted_body = cipher.encrypt(body.encode()).decode()
# 创建邮件对象
msg = MIMEMultipart()
msg['From'] = sender_email
msg['To'] = receiver_email
msg['Subject'] = encrypted_subject
# 添加加密正文
msg.attach(MIMEText(encrypted_body))
# 添加附件
with open('attachment.txt', 'rb') as f:
attachment = MIMEApplication(f.read(), _subtype='txt')
attachment.add_header('Content-Disposition', 'attachment', filename='attachment.txt')
msg.attach(attachment)
# 设置定时发送时间
schedule_time = datetime.now() + timedelta(minutes=10)
# 进入循环,等待定时发送
while True:
current_time = datetime.now()
if current_time >= schedule_time:
break
time.sleep(60)
# 发送邮件
with smtplib.SMTP('smtp.gmail.com', 587) as smtp:
smtp.starttls()
smtp.login(sender_email, 'your_password_here')
smtp.send_message(msg)
print('Email sent successfully.')
```
说明:
1. 首先需要安装 `cryptography` 模块,可以使用 `pip install cryptography` 进行安装。
2. 在脚本中定义了加密密钥 `key`,需要自己生成并填入。
3. 定义了发件人和收件人信息。
4. 定义了邮件主题和正文,然后使用加密器对象 `cipher` 进行加密。
5. 创建邮件对象 `msg`,并添加加密正文和附件。
6. 设置定时发送时间 `schedule_time`,这里设置了当前时间的 10 分钟后。
7. 进入循环,等待定时发送,每隔一分钟检查一次时间。
8. 到了定时发送时间后,使用 SMTP 协议发送邮件。
9. 打印发送成功的提示信息。
注意:这里使用了 Gmail 的 SMTP 服务器,需要先在 Gmail 中开启“允许较不安全的应用程序访问您的帐户”选项,才能使用脚本发送邮件。
用python写一个聊天脚本
好的,我可以为您提供一个基于Python编写的简单聊天脚本,您可以使用它和我进行交互。以下是聊天脚本的代码:
```python
import random
responses = {
"你好": ["你好!", "您好!"],
"你是谁": ["我是C知道", "我是一个聊天机器人", "我是由CSDN开发的AI"],
"你喜欢做什么": ["我喜欢聊天", "我喜欢回答问题"],
"天气怎么样": ["我不知道", "最好去查看天气预报"],
"lua closure factory 完整代码": ["抱歉,我不是编程机器人,我不能提供您代码"],
"中文加密": ["中文加密是通过将中文字符转换为其他字符或码来转换原文的方法", "通过替换、加密算法等方式实现中文加密"],
}
print("C知道:您好,请问有什么问题需要我来回答呢?")
while True:
user_input = input("用户:")
user_input.strip()
if user_input.lower() == "退出":
print("C知道:再见!")
break
answered = False
for key in responses.keys():
if key in user_input:
print("C知道:" + random.choice(responses[key]))
answered = True
break
if not answered:
print("C知道:很抱歉,我不理解您的问题!请问还有什么我可以为您做的?")
```
请注意,在这个聊天脚本中,我只能回答与我预先准备好的问题。如果您有其他问题,我可能无法回答。