Python 发送邮件、加密 day5

一、发送邮件
import
yagmail username = 'xxxxx@126.com'#发邮件人使用的邮箱 password = '123abc' #免费的邮箱,这里用授权码,一般自己公司的,直接写邮箱密码就行了。 smtp = 'smtp.126.com' mail = yagmail.SMTP(user=username,password=password,host=smtp)#连接邮箱服务器 to = ['123456@qq.com']#邮件发送给 cc = ['654321@qq.com']#邮件抄送给 subject = 'test send email'#邮件主题 content = '测试邮件内容'#邮件内容 files = [r'C:UsersAdministratorDesktopstudent.xls', r'C:UsersAdministratorDesktop学员名单.xlsx'] mail.send(to=to,cc=cc,subject=subject,contents=content,attachments=files)#发送邮件
二、加密

#密码加密

import hashlib
password='123456'
print(type(password.encode()))#bytes
m = hashlib.md5(password.encode())
#给字符串加密,必须是二进制类型,bytes
#md5加密是不可逆的,不能解密
#不管密码有多长,md5加密出来的内容都是一样长的
print(m.hexdigest())

#下载文件,如何确认下载完的文件是否下载完整

f = open(r'D:360极速浏览器下载PyMySQL-0.9.3.tar.gz','rb')#此文件按需要二进制方式打开,rb
content = f.read()
sha = hashlib.sha256(content)#已经为二进制,不需要encode()
if sha.hexdigest() =='d8c059dcd81dedb85a9f034d5e22dcb4442c0b201908bede99e306d65ea7c8e7':
    print('SAME')

#加盐

def add_salt(content,salt='!#@$#%DSG'):
    password = str(content)+salt#content需为字符串
    m = hashlib.md5(password.encode())
    return m.hexdigest()

print(add_salt('123456'))#调用加盐方法