#5月学习挑战#Python入门-进阶语法-文件及hashlib

文件
open语法
open(name[, mode[, buffering]])

name为文件按路径,
mode为模式参数,这个东西比较困扰我,遂从《Python基础教程》第十一章摘出来

含义
‘r’读模式(默认)
‘w’写模式
‘a’追加模式
‘b’二进制模式
‘+’读/写模式

buffering是有无缓冲,0是无,1是有,大于1是缓冲区的大小,小于零是使用默认缓冲区。

文件的读方法是每次打开后,依次读下去,在close后清零。

f = open('test.txt', 'w')
f.write("xiaoming is good boy\n")
f.write("xiaoming is good boy\n")
f.write("xiaoming is good boy\n")
f.close()

# open 默认模式类型为'r'
f = open('test.txt')
# read的入参为都多少字符,也可以用readLine
print(f.read(4))
# 会接着读
print(f.read(4))
print(f.readline())
# readlines() 继续读取所有行
print(f.readlines())
f.close
hashlib

hashlib提供md5,sha,blake(这个是啥)等非对称加密算法。md5和sha256以下的算法都是不安全的,商用环境请勿使用。

# This tuple and __get_builtin_constructor() must be modified if a new
# always available algorithm is added.
__always_supported = ('md5', 'sha1', 'sha224', 'sha256', 'sha384', 'sha512',
                      'blake2b', 'blake2s',
                      'sha3_224', 'sha3_256', 'sha3_384', 'sha3_512',
                      'shake_128', 'shake_256')

SHA256具体用法如下:

import hashlib

# 实例化一个代码密钥的sha256对象,这个key不是必传的
key = '123456'
sha256 = hashlib.sha256(key.encode('utf-8'))
# 加密
sha256.update('111111'.encode('utf-8'))
# 转成字符串输出
encrypted_str = sha256.hexdigest()
# 转成16进制
encrypted_byte = sha256.digest()
print(encrypted_str)
# 71b46b195f0a0560dd2ab0bc4acf2af4d9055349bc5e181701250d3266e1662f
print(encrypted_byte)
# b'q\xb4k\x19_\n\x05`\xdd*\xb0\xbcJ\xcf*\xf4\xd9\x05SI\xbc^\x18\x17\x01%\r2f\xe1f/'
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kiba_zwei

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值